日期:2014-05-18  浏览次数:20641 次

JSF中的<commandLink>没有响应是怎么回事?
我写了一页面,用 <commandLink> 提交,如果页面中不再放置其他的任何组件,点击时就有响应,也会调用相应的函数,但如果放入了其他的组件,就不响应了,这是怎么回事,有人遇到这种情况么?
下面是主要的代码部分
<t:div   id= "searcher_panel "   styleClass= "panel_control   center ">
        <t:htmlTag   id= "html_p "   value= "p ">
              <h:commandLink   id= "submit_search "     title= "Person   Search "   action= "#{personSearcher.searchPerson} ">
<h:graphicImage   id= "search_image "   value= "../i/btn_search.png "   alt= "Search "   styleClass= "imgButton "   width= "51 "   height= "15 "   />
              </h:commandLink>
        </t:htmlTag>
</t:div>
这样就可以响应,但如果象下面这样,加如一些东西,就没有响应了:
<t:div   id= "searcher_panel "   styleClass= "panel_control   center ">
        <t:htmlTag   id= "html_p "   value= "p ">
        <h:selectOneMenu   id= "perpage "   value= "#personSearch.criteria.memberNumber} ">
<f:selectItem   itemLabel= "25 "   itemValue= "25 "/>
<f:selectItem   itemLabel= "50 "   itemValue= "50 "/>
<f:selectItem   itemLabel= "100 "   itemValue= "100 "/>
<f:selectItem   itemLabel= "All "   itemValue= "1000 "/>
<f:convertNumber   type= "number "/>
          </h:selectOneMenu>
              <h:commandLink   id= "submit_search "     title= "Person   Search "   action= "#{personSearcher.searchPerson} ">
<h:graphicImage   id= "search_image "   value= "../i/btn_search.png "   alt= "Search "   styleClass= "imgButton "   width= "51 "   height= "15 "   />
              </h:commandLink>
        </t:htmlTag>
</t:div>


------解决方案--------------------
<f:convertNumber type= "number "/> 去了看看
------解决方案--------------------
这个我知道,我也遇到过同样的问题,主要原因是selectOneMenu组件不能将字符型的类型自动转换到int类型,所以当你点击时页面不会提交,目前只有一种解决方法,把你bean中的
#{personSearch.criteria.memberNumber}类型改写为字符串类型,然后你自己可以在做相应的处理。
------解决方案--------------------
没有反应就是出现了异常啊,哥们啊

有办法 简单适用

在页面上加上 <h:messages/> 标签,一下子就抓住了要害,给分