package com.one.entity;
public class Cal {
private String num1;
private String num2;
public String getNum1() {
return num1;
}
public void setNum1(String num1) {
this.num1 = num1;
}
public String getNum2() {
return num2;
}
public void setNum2(String num2) {
this.num2 = num2;
}
public Cal() {
super();
}
public Cal(String num1, String num2) {
super();
this.num1 = num1;
this.num2 = num2;
}
@Override
public String toString() {
return "Cal [num1=" + num1 + ", num2=" + num2 + "]";
}
}
package com.one.web;
import com.one.entity.Cal;
import com.opensymphony.xwork2.ModelDriven;
public class TagAction implements ModelDriven<Cal>{
private Cal cal1 = new Cal();
private Cal cal2;
private String num1;
private String result;
public Cal getCal2() {
return cal2;
}
public void setCal2(Cal cal2) {
this.cal2 = cal2;
}
public String getNum1() {
return num1;
}
public void setNum1(String num1) {
this.num1 = num1;
}
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
public String execute() {
//ModelDriven<Cal> 在栈的顶端
System.out.println("cal1:" + cal1);
System.out.println("cal2:" + cal2);
System.out.println("num1:" + num1);
System.out.println("result:" + result);
return "demo3";
}
@Override
public Cal getModel() {
return cal1;
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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>Insert title here</title>
<script type="text/javascript">
function doSubmit(methodName){
calForm.action = "${pageContext.request.contextPath }/sy/calAction_" + methodName +".action";
calForm.submit();
}
</script>
</head>
<body>
<h1>struts2通用标签</h1>
<a href="${pageContext.request.contextPath }/sy/tagAction.action?num2=50&cal2.num1=20&cal2.num2=5&num1=250&result=lixiao">测试3</a>
<h1>struts2表单标签</h1>
<a href="demo4.jsp">测试4</a>
</body>
</html>
<%@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>
<s:debug>
<h3 style="color: red;">数据标签</h3>
<h3>set</h3>
<!-- value是表达式 -->
<s:set var="test1" value="cal2"></s:set>
<h3>property</h3>
<!-- 取不到值,因为标签代表的含义,从值栈中取test1.num1的属性值 -->
<s:property value="test1.num1"/>,
<!-- 取的是非根(不是 value stack 下),num1的属性值 -->
<s:property value="#test1.num1"/>
<h3>push</h3>
<!-- 取得是栈的顶端的值 -->
<s:property />
<!-- s:push 是弹栈,标签体即可拿到弹栈的内容,结束标签回归原样 -->
<s:push value="result">
<s:property />
</s:push>
<h3>action</h3>
<!-- 作用:向后台发送请求拿数据,加载初始化数据所用 -->
<s:action name="tagAction" namespace="/sy" var="test2"></s:action>
<s:property value="test2"/>,
<s:property value="#test2.result"/>
<h3>url</h3>
<!-- 是为了生成url地址 -->
<s:url namespace="/sy" action="tagAction" var="test3"></s:url>
<s:property value="test3"/>
<!-- %{test3}强制转化为表达式表达 -->
<s:a href="%{test3}">跳转</s:a>
<h3>param</h3>
<!-- 属于子标签,通常配合url,action去使用 -->
<s:url namespace="/sy" action="tagAction" var="test6">
<s:param name="test4">result</s:param>
<s:param name="test5" value="result"></s:param>
</s:url>
<s:property value="test6"/>
<h3>date</h3>
<%
request.setAttribute("currentTime", new Date());
request.setAttribute("names", new String[]{"lixiao","tingting","xiaohei"});
request.setAttribute("socore", new Integer(70));
%>
<s:date name="#request.currentTime" format="yyyy-mm-dd"/>
<h3>debug</h3>
<h3 style="color: red;">控制标签</h3>
<h3>iterator/if/elseif/else</h3>
<ul>
<s:iterator value="#request.names" var="i"><li><s:property value="i"/></li></s:iterator>
</ul>
<s:if test="#request.socore > 80">A</s:if>
<s:elseif test="#request.socore > 60">B</s:elseif>
<s:else>C</s:else>
</s:debug>
</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="/sy" name="tagAction">
<s:textfield label="姓名" name="uname"></s:textfield>
<s:radio label="性别" name="sex" list="#{1:'男',2:'女'}" value="1"></s:radio>
<s:select label="爱好" name="hobby" list="#{1:'篮球',2:'足球'}"></s:select>
<!-- 单选复选框 传入后台的是boolean -->
<s:checkbox label="是否已婚" name="married"></s:checkbox>
<!-- 多选复选框 -->
<s:checkboxlist label="多种爱好" name="xxx" list="#{1:'篮球',2:'足球'}"></s:checkboxlist>
<s:textarea label="标签" name="mark"></s:textarea>
<!-- 隐藏标签 -->
<s:hidden name="sss" value="55"></s:hidden>
<s:submit label="提交"></s:submit>
</s:form>
</body>
</html>