【发布时间】:2012-08-16 02:55:38
【问题描述】:
我正在使用具有丰富面孔的 JSF2 4。我的目标是使用 ajax 将后端方法生成的请求 ID 显示到输入文本字段中。
这是我的代码的 sn-p:
....
<h:outputText value="Drawer No" />
<h:outputText value="*" style="color:#ff0000;"/>
<h:inputText id="drawer" value="#{requestBean.drawerNumber}" required="true"
requiredMessage="Please enter drawer number">
<f:ajax event="change" action="#{requestBean.generateRequestId}"
execute="@form" render="requestId"/>
</h:inputText>
<h:outputText value="Request Id" />
<h:inputText id="requestId" value="#{requestBean.requestId}" readonly="true" required="true" >
</h:inputText>
</td>
<td>
<h:message for="requestId" style="color:red;font-size:10pt"/>
....
豆子:
public void generateRequestId(ActionEvent e)
{
FacesContext context = FacesContext.getCurrentInstance();
HttpSession session = (HttpSession) context.getExternalContext().getSession(false);
String emp=(String) session.getAttribute("loginUser");
System.out.println("inside ajax event" + emp);
try {
requestId = AdminDAO.getRequestId(emp);
} catch (ParseException e1) {
e1.printStackTrace();
}
}
一旦调用该方法,它会生成一个请求ID,该请求ID需要返回到请求ID。
这段代码甚至没有调用方法,如果我使用<a4j:ajax而不是f:ajax,它告诉我方法不存在。
【问题讨论】:
-
如果有其他方法也适合我