我想使用视图参数来获取JSF 2的可收藏URL,但我使用JSP和我可以找到的所有帮助和示例,使用facelets。到目前为止,我想要做到这一点:
search.jsp(调用页面):
<t:commandLink action="...">
<f:param name="param1" value="foo"/>
<h:outputText value="..."/>
</t:commandLink>
faces-config.xml中:
<navigation-rule>
<navigation-case>
<from-outcome>go_edit</from-outcome>
<to-view-id>/views/edit.jsp</to-view-id>
<redirect>
<view-param>
<name>param1</name>
<value>#{edit.param1}</value>
</view-param>
</redirect>
</navigation-case>
</navigation-rule>
Edit.java(编辑页面支持bean):
public class Edit extends ... {
private String param1;
public String getParam1(){
return param1;
}
public void setParam1(String param1){
this.param1 = param1;
}
...
}
我认为问题是,我没有将视图参数添加到编辑页面(例如edit.jsp)。我只找到了facelet示例,如下所示:
<f:metadata>
<f:viewParam name="id" value="#{bean.id}" />
</f:metadata>
我的问题是,我可以使用JSP视图参数吗?有人可以提供或指出一个完整的例子吗?特别是具有目标页面的部分(例如edit.jsp)。
答案 0 :(得分:2)
这是不可能的。自从2009年12月的JSF 2.0(差不多4年前已经!)以来,JSP是deprecated。所有新的JSF 2.x特定标记仅适用于Facelets,而不适用于JSP。基本上,使用JSP,您只能使用JSF 1.x特定标记。换句话说,JSF 2.x标记<f:metadata>
,<f:viewParam>
,<f:ajax>
,<h:head>
,<h:outputScript>
等不可用于JSP。
使用已弃用的技术毫无意义。现在是migrate的时候了。