针对向 通过 include 标签的导入的页面传递参数的方式,我尝试了一下,有以下几种方式:
方式一
main.jsp
<s:include value="/jsp/child.jsp">
<s:param name="tooltip">test</s:param>
</s:include>
child.jsp
<div id="tooltipBar">
<div id="tooltip">${param.tooltip}</div>
</div>
其中,在child中,是使用的EL表达式来获取参数的。
如果不想使用EL,而是想使用STRUTS2的标签去获取的话,可以像如下这样来实现:
child.jsp
<%@page import="com.opensymphony.xwork2.ognl.OgnlValueStack"%>
<%
((OgnlValueStack) request.getAttribute("struts.valueStack")).set(
"tooltip", request.getParameter("tooltip"));
%>
<div id="tooltipBar">
<div id="tooltip">${param.tooltip}</div>
</div>
为什么要么做?可以参考下面的BLOG:
http://blog.csdn.net/leidengyan/article/details/7960237
方式二
main.jsp <s:set var="tooltip">test</s:set> <s:include value="/jsp/child.jsp" />
上面的 s:include 也可以换成:
<%@ include file="/jsp/content_header2.jsp" %>
child.jsp
<div id="tooltipBar">
<div id="tooltip"><s:property value="#tooltip" /></div>
</div>
方式三
使用JSP标签。
main.jsp
<jsp:include page="/jsp/child.jsp">
<jsp:param name="tooltip" value="test"/> <!-- value的值无法与struts2的标签嵌套使用 -->
</jsp:include>
child.jsp
<div id="tooltipBar">
<div id="tooltip">${param.tooltip}</div>
<div id="tooltipArrow">V</div>
</div>
本文详细介绍了在Struts2框架下,通过include标签导入页面时,如何灵活地传递参数,包括使用EL表达式、OGNL值堆栈、S:set标签以及JSP标签的方法。并通过实例演示了每种方式的具体应用。

1568

被折叠的 条评论
为什么被折叠?



