在struts2的2.0.11及以上版本的changelog里,官方已经说了不再支持EL表达式,官方说的是因为安全问题,这个在 JE上已经有所讨论了。
至于struts2的标签还不支持<%%>这种JSP的标准java标签不知道是什么时候开始的,反正例如下面的
<s:url id="selectData1" value="<%=request.getContextPath()%>/test/country.jsp"/>
会报错
而<s:url id="selectData1" value="${pageContext.request.contextPath}/test/country.jsp"/>
也会报错(EL不支持)
那么如果我想得到应用的contextPath该怎么办呢,去google搜索,你会发现有人给出的方法
<s:property value="#request.get('javax.servlet.forward.context_path')" />
或是先用
<%request.setAttribute('root',request.getContextPath())%>
再用
<s:property value="%{#request.contextPath}" />
怎么感觉这两种都很别扭,后来我试验发现可以直接这么写:
<s:url id="selectData1" value="%{#request.getContextPath()}/test/country.jsp"/>
也是正确的.
ognl不仅支持lambda方式的取值,还支持这种普通的方法式的调用.
分享到:
相关推荐
struts2 <s:if>标签使用struts2 <s:if>标签使用struts2 <s:if>标签使用struts2 <s:if>标签使用struts2 <s:if>标签使用struts2 <s:if>标签使用
关于STRUTS标签的一些详细说明。 如:<html:form>的说明。
<%@ taglib uri="/struts-tags" prefix="s" %> 结合例子,重点掌握以下标签的用法 (1) <s:property> (2) <s:set> (3) <s:if> 、<s:elseif>、<s:else> (4) <s:iterator> (5) <s:include> (6) <s:form>、<s:hidden> (7...
<tr><br> <td>姓名</td><br> <td>年龄</td><br> <td>所属组</td><br> </tr><br> <c:forEach var="user" items="${userlist}"><br> <tr><br> <td><c:out value="${user.username}"/></td><br> <td><c:out value="${...
NULL 博文链接:https://z18022893621.iteye.com/blog/1956098
<%@ taglib uri="/struts-tags" prefix="s" %> 结合例子,重点掌握以下标签的用法 (1) <s:property> (2) <s:set> (3) <s:if> 、<s:elseif>、<s:else> (4) <s:iterator> (5) <s:include> (6) <s:form>、<s:hidden> (7...
struts jstl el表达式示例代码 struts jstl el 表达式 源码
这是一份关于struts2...<s:if>:拥有一个test属性,其表达式的值用来决定标签里内容是否显示。<s:if test="#request.username=='hzd'">欢迎hzd</s:if> <s:elseif>:同上。 <s:else> …… …… 很实用的,就是简洁明了
<s:include value="../Struts2GotoPage.jsp"></s:include> <s:iterator value="goods" id="item" status="st"> <tr align="center"> <td >${st.index+1} </td> <td >${item.gsName }</td> <td >${item....
前台制作采用标签制,分为系统标签和用户自义义标签两种,系统标签是自代的,用户不可以修改,而自定义标签则是用户根据相应的功能自己定制出来的,固此,可以自行删除或修改! 4、秉承JAVA开源理念,本新闻发布系统...
<td> <s:set name="actorRef" value="actorId" /> <s:set name="taskName" value="name" /> <s:if test="#actorRef=='' or #actorRef==null">共享任务(<a href="${pageContext.request.contextPath}/ga/...
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <html><head><title>...
<%@ taglib prefix="s" uri="/struts-tags" %> 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. <s:a href=""></s:a>-----超链接,类似于html里的<a></a> 3. <s:...
<td><a href="updateinformation.jsp">更改信息 >></a></td> </tr> </table> <p> <a href="login_confirm?action=logout"><<注销 </a></p> </body> < html> (3) 修改项学生...
<br> </td><br> </tr><br> </table><br> <table width=800><br> <tr><br> <td height=1 width=700 bgcolor=gray colspan=2></td><br> </tr><br> </table><br> <table width=800><br> <tr><br> ...
NULL 博文链接:https://12345678.iteye.com/blog/713954
<%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-...
— Web 应用的发展<br>— Model 1 和Model 2<br>— MVC 思想<br>— MVC 模式的优势<br>— 常用MVC 框架及其特征<br>— Struts 1 的基本结构及其存在的问题<br>— WebWork 的基本结构<br>— Struts 2 的起源<br>— ...
功能,相比struts2和spring,着实方便多了. 如果觉得好用,就放弃ssh吧,加入到galaxy的阵营。 1. 完成一个用户管理功能? user.jsp ,这个页面用于新增,修改一个用户 <html> <head></head> <body> <% ...
<filter-name>struts-cleanup</filter-name> <filter-class> org.apache.struts2.dispatcher.ActionContextCleanUp </filter-class> </filter> <filter-mapping> <filter-name>struts-cleanup</filter-name> ...