strtus2, 往 s:include 所导入的页面传递参数
程序员文章站
2022-07-12 21:36:00
...
针对向 通过 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>
上一篇:
JSP中使用
下一篇: 前端include file