首先这个struts标签跟以前的c标签写法都差不多 不过有一些标签会有一些改动
1.1 通用标签
1.1.1 数据标签
property
set
push
param
<param name="color">blue</param>
<param name="color" value="blue"/>
注1:它是子标签 注2:url/action
date 转时间
java.text.SimpleDateFormat/DecimalFormat
debug 查看后台request的一些请求
url/param/a(重要~用来生成url链接的)
action
action 再发一次请求 是为了调后台模块代码,拿数据
1.1.2 控制标签
iterator/if/elseif/else
具体介绍都在代码里有测试
<h2>标签</h2>
<a href="${pageContext.request.contextPath}/sy/parAction.action?num1=12&num2=15&ss=hhh&cal2.num1=120">多点点</a> 那边写好简单测试类
<h3 style="color: red;">数据标签</h3>
<h3>var里面设置的值没有放到值栈中所以都是非根对象 用#</h3>
<h3>set</h3>
<!-- 在ognl上下文的根对象中取value里的值 赋给var 就相当于一个名字 value放的是ognl表达式的值 那边action里存了值可以拿到-->
<s:set var="text1" value="ss"></s:set>
${text1}
<h3>property</h3>
<!-- 打印输出值的 跟c:out标签相似 -->
<!-- 取栈顶 model-->
<s:property/>
<!-- 取根对象最上面的属性 -->
<s:property value="num1"/>
<!-- 取根对象cal2里的属性 -->
<s:property value="cal2.num1"/>
<!-- 取非根对象cal2里的属性 -->
<s:property value="#request.cal2.num1"/>
<h3>push</h3>
<!-- push就是把需要的值放到栈顶 便于页面获取 -->
<s:property/>
<s:push value="num1">
<s:property/>
</s:push>
<!-- 意思就是先输出的是最上面num1的值 然后把text2那个值放到了上面 关闭后又是最上面的那个值 -->
<s:property/>
<h3>action</h3>
<!-- 通常用来请求后台 初始化数据 -->
<!-- 通过某一个action里拿到数据 -->
<s:action name="parAction" namespace="/sy" var="text3"></s:action>
<s:property value="#text3.cal"/>//拿到那个action里一些属性
<h3>url</h3>
<!-- url是为了生成地址所用 -->
<s:url namespace="/sy" action="parAction" var="text4"></s:url>
<s:property value="text4"/><!-- 打印出这个url加载调的这个地址 -->
<a href="<s:property value="text4"/>">aaa</a>
<!-- a标签直接放打印的这个 s的a标签要用%{#text4} -->
<s:a href="%{#text4}">bbb</s:a>
<h3>param</h3>
<!-- 向这个url路径里后面传param值 比如res=aaa&text6=ss ss里是ognl里面的值 -->
<s:url namespace="/sy" action="proAction" var="text5">
<s:param name="res">123</s:param>
<s:param name="text6" value="ss"></s:param>
</s:url>
<s:property value="text5"/>
<h3>date</h3>
<% //获取一些数据方便下面拿数据
request.setAttribute("datas", new Date());
request.setAttribute("data2", new Integer(28));
request.setAttribute("data3", new String[]{"1","2","3"});
%>
<!-- 转换时间格式 -->
<s:date name="#request.datas"/>
<h3>debug</h3>
<!-- 用来查看请求里面的数据的 -->
<s:debug></s:debug>
<h3 style="color: red;">控制标签</h3>
<h3>iterator/if/elseif/else</h3>
<!-- 相当于进行遍历 拿到v的每一个 -->
<ul>
<s:iterator value="#request.data3" var="v">
<li><s:property value="#v"/></li>
</s:iterator>
</ul>
<s:if test="#request.data2>60">A</s:if>
<s:elseif test="#request.data2==60">B</s:elseif>
<s:else>C</s:else>
2.表单标签
表单标签就相当于一些form标签 form里面的输入框 复选框 文本框等等 好在一点就是这些标签直接替代了那些input 可以直接用你想要的。
<h3 style="color: red;">表单标签</h3>
<h3>form</h3> 用来装那些文本框等等
<h3>textfield</h3>文本框
<h3>radio</h3>单选
<h3>select</h3>下拉框 好在一点这个标签已经直接把所有属性放在select里 不需要写option什么的 直接调里面的属性
<h3>textarea</h3>文本域
<h3>hidden</h3>隐藏域 藏一些隐藏属性过去
<h3>submit</h3>提交
<s:form action="" method="">
<s:textfield name="uname" label="姓名"></s:textfield>
<!-- 必须要给name 不然会找不到哪一个 -->
<%-- <s:radio list="{'男','女'}" label="性别" name="sex" value="'男'"></s:radio> --%>
<s:radio list="#{1:'男',2:'女'}" label="性别" name="sex" value="2"></s:radio>
<!-- 单选复选框 返回true或false -->
<s:checkbox name="aa" label="确定"></s:checkbox>
<s:checkboxlist list="#{1:'唱歌',2:'跳舞'}" name="hobby"></s:checkboxlist>
<s:select headerKey="1" headerValue="请选中" name="xiala" list="#{1:'aaa',2:'bbb',3:'ccc'}" label="学生列表"></s:select>
<s:hidden name="menuid" id="aa" value="menuid"></s:hidden>
<s:textarea name="text" label="文本域" ></s:textarea>
<s:submit action=""></s:submit>
</s:form>
基本上这些标签就这么多 了解这些就欧克了!