struts2通用标签

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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值