您的位置:首页 > 编程语言 > Java开发

Struts2中#,$,%等符号的使用

2016-11-04 20:14 330 查看

1、

取contextMap中key时使用,例如

OGNL中创建Map对象时使用,例如:

2、$

在JSP中使用EL表达式时使用,例如${name}

在xml配置文件中,编写OGNL表达式时使用,例如文件下载时,文件名编码。

<!--struts.xml-->
${@java.net.URLEncoder.encode(filename)}


3、%

在struts2中,有些标签的value属性取值就是一个OGNL表达式,例如< s:property value=”OGNL Expression” />

还有一部分标签,value属性的取值就是普通字 符串,例如< s:textfield value=”username”/>,如果想把一个普通的字符串强制看成时OGNL,就需要使用%{}把字符串套起来。

例如< s:textfield value=”%{username}”/>。当然在< s:property value=”%{OGNL Expression}” />也可以使用,但不会这么用。

4、其他标签

set标签:

<br/>-------s:set------------<br/>
<%--s:set标签
value属性:取值是一个OGNL表达式
var属性:是一个普通的字符串
它是把value属性的值作为value,把var属性的值作为key,把存到ActionContext大map中。
--%>
<s:set value="'test'" var="str1"></s:set>






action标签

<%--s:action标签 :
name属性是指定一个action动作名称。它并不会真的去执行。动态包含进来
executeResult属性指定的是:是否执行action。取值是true/false。默认值:false
--%>
<s:action name="action1" executeResult="true" />






if,elseif,else标签

<br/>-------s:if s:ifelse s:else------------<br/>
<%-- 条件判断的标签--%>
<s:set value="'C'" var="scr" />
<s:if test="#scr=='D'">真差劲</s:if>
<s:if test="#scr=='A'">不错哦</s:if>
<s:else>无法评价</s:else>




url和a标签——很有用

<br/>-------s:url------------<br/>
<%--s:url标签:
value属性:是把值直接输出到页面上
action属性:是把动作的请求地址输出到页面上 ${pageContext.request.contextPath}/action1
var属性:把action的取值作为value,把var的取值作为key,放到ActionContext中
注意:它会自动根据struts配置,来转换后缀名。
--%>
<s:url value="action1"></s:url><br/>
<s:url action="action1"></s:url><br/>
<s:url action="action1" var="url">
<%--把name作为key,把value作为值,绑定到请求连接地址后面。相当于get方式拼接请求参数
注意:
name的取值就是一个普通的字符串
value的取值是一个OGNL表达式,要想转成字符串请使用''
--%>
<s:param name="name" value="'张三'"></s:param>
</s:url><br/>
<a href='<s:property value="#url"/>'>跳转</a>




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  strut2