版权声明:博客知识产权来源命运的信徒,切勿侵权 https://blog.csdn.net/qq_37591637/article/details/84950198
友情提示:
当你在页面上显示值栈里面的内容的时候,你会发现,明明没有把对象或者属性放在值栈里面,但是对象就是在值栈的顶部;
是Action类调用action方法之前,就调用了Actionproxy(),对其初始化的过程中将其加入值栈中了;
好了,正文部分到了,今天讲的是<s:url></s:url>普通标签
demo如下
s标签<br>
<!-- var="字符串名称" value="地址" -->
<s:url value="/we" var="url1">
<!-- name是属性名称,value是值 -->
<s:param name="id" value="12"></s:param>
</s:url>
<!-- /LX/we?id=12 -->
${url1 }<br><br>
<!-- 对于value值ognl自动会解析 -->
<s:url value="/action" var="url2">
<s:param name="id" value="name"></s:param>
</s:url>
<!-- -/LX/action?id=tjn -->
${url2 }<br><br>
<!-- 为什么这里显示的是/LX/actionsw而不是/LX/actionsw?id=abcdfg -->
<!-- 因为ognl会自动解析,如果是字母的话,是不是值栈里面的属性,如果不是,就识别不了 -->
<s:url value="/actionsw" var="url3">
<!-- 如果识别不了的话,就加一个'' -->
<s:param name="id" value="'abcdfg'"></s:param>
</s:url>
${url3}<br><br>
<!-- 构建一个请求action的地址 -->
<s:url action="testaction" namespace="/hello" method="save" var="url4"></s:url>
${url4 }<br><br>
以下是url1 url2 url3 url4