我发现一种情况,我想通过导入共享ActionBean的输出在许多页面上包含相同的内容。
我想做的是有一个ActionBean,它接受一些参数并进行一些处理,然后将ForwardResolution返回到JSP,该JSP使用诸如${actionBean.myValue
的标准Stripes构造来呈现该ActionBean的输出。
然后,我想从其他JSP“调用”此ActionBean。这样可以将第一个ActionBean的输出HTML放入第二个JSP的输出中。
我怎样才能做到这一点?
最佳答案
您可以使用<jsp:include>
标记获得所需的结果。
SharedContentBean.java
@UrlBinding("/sharedContent")
public class SharedContentBean implements ActionBean {
String contentParam;
@DefaultHandler
public Resolution view() {
return new ForwardResolution("/sharedContent.jsp");
}
}
在您的JSP中
<!-- Import Registration Form here -->
<jsp:include page="/sharedContent">
<jsp:param value="myValue" name="contentParam"/>
</jsp:include>
web.xml
确保将
INCLUDE
添加到web.xml中的<filter-mapping>
标记中:<filter-mapping>
<filter-name>StripesFilter</filter-name>
<url-pattern>/*</url-pattern>
<servlet-name>StripesDispatcher</servlet-name>
<dispatcher>REQUEST</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>