小编典典

如何在JSP中使用视图参数?

jsp

我想通过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)。


阅读 369

收藏
2020-06-08

共1个答案

小编典典

这是不可能的。自2009年12月(近4年前!)以来,就不推荐使用
JSP 2.0。所有新的JSF
2.x特定标签仅可用于Facelets,不适用于JSP。基本上,使用JSP时,只有特定于JSF
1.x的标签可用。换句话说,在JSF
2.x的标签<f:metadata><f:viewParam><f:ajax><h:head><h:outputScript>,等是
没有 提供给JSP。

使用过时的技术毫无意义。现在是迁移的时候了。

2020-06-08