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

【高分】jsf页面见参数传递问题
不记得是在哪个书还是网页上看到的:

在faces-config.xml里有配置导航规则如下:
<navigation-rule>
  <from-view-id>/login.jsp</from-view-id>
  <navigation-case>
  <from-outcome>success</from-outcome>
  <to-view-id>/data/success.jsp</to-view-id>
  </navigation-case>
</navigation-rule>
在login.jsp的页面的backbean中,可以取到outcome=success的导航页面/data/success.jsp,然后把参数附加在后面,比如:/data/success.jsp?type=111,在backbean中取的方法没记住,也不知道是在哪里看的了,有人知道么?
分数不是问题,

------解决方案--------------------
JSF :/data/success.jsp?type=111 这种方式传参数到是没见过
如果使用<h:commandbutton />按钮进行验证,然后跳转到success.jsp,success.jsp中能获取到login.jsp中所有页面参数,你可以在success.jsp做出打印看看。<h:commandbutton />按钮会提交整个<h:form />的内容。
------解决方案--------------------
顶了
------解决方案--------------------
jsf不懂哦,关注一下本贴。
------解决方案--------------------
可以在Back Bean中弄一個type的property,然後在此property的get method中:
public String getType() {
this.type = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("type");
return this.type;
}




页面中
value="#{myBean.Var1}" 

------解决方案--------------------
我知晓得JSF是JSP的一个分支。
------解决方案--------------------
up
------解决方案--------------------
JSF :/data/success.jsp?type=111这种方式传参数是不合适的,也没有任何意义,既然这样还不如直接在backbean的事件中直接付值呢,如果你想取类似success.jsp?type=111的页面参数,可使用如下方法:
1.页面中使用<f:param>

2.(String)FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("type");
------解决方案--------------------


可以通过帧的引入进行调用操作。
------解决方案--------------------
this.getType()?问题不太明白。
------解决方案--------------------
学习
------解决方案--------------------
实在没办法就用session传吧,记得用完关闭!
------解决方案--------------------
帮顶,学习下
------解决方案--------------------
学习
------解决方案--------------------
学习
------解决方案--------------------
学习
------解决方案--------------------
4楼的做法可行,楼主可以试一下,直接在view后面加参数倒是没有用过。