以下两段代码之间有什么区别 - 关于listener放置?
<h:selectOneMenu ...>
<f:selectItems ... />
<f:ajax listener="#{bean.listener}" />
</h:selectOneMenu>
Run Code Online (Sandbox Code Playgroud)
和
<h:selectOneMenu ... valueChangeListener="#{bean.listener}">
<f:selectItems ... />
</h:selectOneMenu>
Run Code Online (Sandbox Code Playgroud) 我正在使用Eclipse/jsf来创建我的Web应用程序.我试图解决像这样的问题
包括我:
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<jsp:root xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">
<html xmlns="http://www.w3.org/1999/xhtml">
Run Code Online (Sandbox Code Playgroud)
我的代码:
<h:inputText id="cod" value="#{myBean.nwcode}"
size="25" maxlength="30" required="true" requiredMessage="CODE est obligatoire" >
<f:ajax listener="#{myBean.namedChanged}" render="@form"/>
</h:inputText>
Run Code Online (Sandbox Code Playgroud)
缺什么?.
如果在这种情况下无法使用Tag,请告诉我如何使用valueChangeListener属性,因为我已经实现了一个方法:
public void OnproCodeChangeCheckValid(ValueChangeEvent VChEvnt)
{
if(!((String)VChEvnt.getNewValue()).equals(null)&&!((String)VChEvnt.getNewValue()).trim().isEmpty())
{
nwprofvalid=!estprofileexist((String)VChEvnt.getNewValue());
}
}
Run Code Online (Sandbox Code Playgroud)
但是这个方法并没有被简单地说:
valueChangeListener="#{myBean.OnproCodeChangeCheckValid}"
Run Code Online (Sandbox Code Playgroud)
也许因为它需要一个参数,所以如何过去呢?有任何想法吗?.
提前谢谢了.
例外:
javax.servlet.ServletException: /ajoutProfile.jspx @57,21 <f:ajax> Tag Library supports namespace: http://java.sun.com/jsf/core, but no tag was defined for name: ajax
javax.faces.webapp.FacesServlet.service(FacesServlet.java:321)
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
com.sun.facelets.tag.TagException: /ajoutProfile.jspx @57,21 <f:ajax> Tag Library supports …Run Code Online (Sandbox Code Playgroud)