【发布时间】:2013-03-24 19:35:55
【问题描述】:
ViewScope bean 是否允许 ajax 调用?
例如:
这是一个 xhtml 页面:
<h:body>
<h:selectOneMenu value="#{test.selected}">
<f:selectItem itemValue="2" itemLabel="2" />
<f:selectItem itemValue="3" itemLabel="3" />
<f:ajax listener="#{test.updateData()}" />
</h:selectOneMenu>
</h:body>
这是 ViewScoped Bean:
@ViewScoped
@Named
public class test implements Serializable{
private String selected;
public void updateData(){
System.out.println("Ajax call successful.");
}
public String getSelected() {
return selected;
}
public void setTest(String test) {
this.selected = selected;
}
}
当我尝试这个时,它没有工作。
【问题讨论】:
-
你对“没用”不是很清楚。我将简单地假设您没有看到任何打印到标准输出的内容。将来,请从开发人员的角度而不是最终用户的角度详细说明问题。是否调用了 JS/ajax 函数? (阅读 JS 控制台是否有错误) HTTP 请求是否正确发送? (阅读浏览器开发者工具集中网络部分的 HTTP 流量监控器) bean 是否被构造,方法是否被调用? (放置断点、运行调试器、读取服务器日志以查找异常等)返回的 HTTP 响应的正文包含什么?等等。
标签: java jsf view primefaces updates