1、value表达式讲解(与c标签作比较)
2、set中var没有放到值栈中
3、action 再发一次请求 是为了调后台模块代码,拿数据
4、url 没有发请求,只为了生成url链接地址
%{str}:str会被强制转换成OGNL表达式计算
以上最最重要的是通过debug标签去拿值
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>通用标签</title>
</head>
<body>
<h3 style="color: red;">数据标签</h3>
<h3>set</h3>
<!--在ognl上下文的跟对象中取resulet值 赋给test1-->
<s:set var="test1" value="result"></s:set>
${test1 },${requestScope.test1}
<h3>property</h3>
<!--取栈顶 取cal1(model) -->
<s:property/>
<!--取跟对象最上面的对象的属性 -->
<s:property value="num1"/>,
<!--取跟对象cal2对象的num1属性 -->
<s:property value="cal2.num1"/>,
<!--取非跟对象cal2对象的num1属性 -->
<s:property value="#request.cal2.num1"/>,
<!--push就是将你需要的值放到栈顶 -->
<h3>push</h3>
<s:property/>
<s:push value="result">
<s:property/>
</s:push>
<s:property/>
<!--action通常用来请求后台 获取初始化数据的 -->
<h3>action</h3>
<s:action name="tagAction" namespace="/sy" var="test2"></s:action>
<s:property value="#test2.cal2"/>,
<!--url是为了生成地址所用 注意与a 标签区分 -->
<h3>url</h3>
<s:url namespace="/sy" action="tagAction" var="test3"></s:url>
<s:property value="#test3"/>,
<a href=' <s:property value="#test3"/>,'>xxx</a>
<s:a href="%{#test3}">aaa</s:a>
<h3>param</h3>
<!-- 两种赋值方式 ognl表达式 字符串 -->
<s:url namespace="/sy" action="tagAction" var="test4">
<s:param name="test5">aaa</s:param>
<s:param name="test6" value="num1"></s:param>
</s:url>
<s:property value="#test4"/>,
<h3>date</h3>
<%
request.setAttribute("currentDate", new Date());
request.setAttribute("score", new Integer(70));
request.setAttribute("names", new String[]{"gay","lisi","wy"});
%>
<s:date name="#request.currentDate" format="yyyy-MM-dd"/>
<h3>debug</h3>
<s:debug/>
<h3 style="color: red;">控制标eta签</h3>
<h3>iterator/if/elseif/else</h3>
<ul>
<s:iterator var="v" value="#request.names">
<li>
<s:property value="#v"/>
</li>
</s:iterator>
</ul>
<s:if test="#request.score>80">
A
</s:if>
<s:elseif test="#request.score>60">
b
</s:elseif>
<s:else>c</s:else>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>表单标签</title>
</head>
<body>
crud详细讲解
<h3 style="color: red;">表单标签</h3>
<h3>form</h3>
<h3>textfield</h3>
<h3>radio</h3>
<h3>select</h3>
<h3>textarea</h3>
<h3>hidden</h3>
<h3>submit</h3>
<s:form namespace="" action="">
<s:textfield label="姓名" name="uname"/>
<%-- <s:radio list="{'男','女'}" label="性别" name="sex" value="'男'"></s:radio> --%>
<s:radio list="#{1:'男',2:'女'}" label="性别" name="sex" value="2"></s:radio>
<s:select label="部门选择" name="deptName" list="#{1:'财务部',2:'公关部',3:'人事部' }"></s:select>
<!-- 单选复选框 往后台传值是传Boolean类型 -->
<s:checkbox label="是否已婚" name="married"/>
<s:checkboxlist label="爱好" name="hobby" list="#{1:'篮球',2:'游戏',3:'睡觉' }"></s:checkboxlist>
<s:textarea label="个人简介" name="remark"/>
<s:hidden name="xxx" value=""></s:hidden>
</s:form>
</body>
</html>