Struts2标签

 首先定义标签

一、通用标签

1.url

value=“URL”
var=“压入Map栈的key”
action="action请求名"

2.param

把参数和参数值传给父标签,一般不能单独使用,要被其他标签包含

属性
name="key参数名 "
value="参数值"
参数值会进行OGNL解析,

①不以#开头在对象中查找和参数值匹配的属性值
②以#开头从Map栈中找


不被解析
参数值不符合命名规范:
纯数字
把参数值使用单引号引起来

3.set

向Map栈的指定范围内压入键值对

属性:name=“key名”,value=“值”

要经过OGNL解析
scope="作用范围"

定义作用域

4.push

 

push
向对象站临时压入对象,标签结束后就弹出
属性
value=“对象”
通过OGNL解析获取对象

注意:测试内容要在push标签内部,

<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <!-- 引入标签库 -->
    <%@ taglib prefix="s" uri="/struts-tags" %>
<!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>index</title>
</head>
<body>
<%

session.setAttribute("tom", "aaaa");
session.setAttribute("date",new Date());
%>
测试通用标签:<br>
1.  url标签<br>

<s:url value="/test.jsp" var="testurl">
	<s:param name="key1" value="#session.tom"></s:param><!-- 访问Map栈 -->
</s:url>
<br><br>

2. set 标签<br>
<s:set name="key2" value="'bbb'" scope="session"></s:set>
<br><br>

3.push标签<br>
<s:push value="#session.date">
	年=${year }
</s:push>
<br>


<br><br>
<s:debug></s:debug>
</body>
</html>

  

二、表单标签

特点;
自动排版和布局
使用table
支持自动回显
自动从对象栈的Action对象中查找对应的属性并显示属性值

共同属性:
name=“属性名”
和Action类的属性进行匹配


lable="说明"
自动在结尾加:,显示在前面的表格单元中
点击lable文字,对用的组件自动获得焦点


value ="显示的值"

1.s:from

action=“url”
medoth="get/post"

2.s:textfield文本框

3.s:password

4.s:hidden

5.s:radio单选框

list=''数据集合"

从值栈获取

6.s:checkboxlist多选按钮

7.s:select下拉选择框

8.textarea多行文本域

cols 列数
rows行数

9.checkbox
默认代表boolean值
选中=true
不选中=false
实现方式
自动添加对应的隐藏域
fieldValue:自定义的选中值  

 

10.s:submit

<%@page import="java.util.HashMap"%>
<%@page import="java.util.Map"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@taglib prefix="s" uri="/struts-tags"%>
<!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>
表单标签<br><br>
<%
Map<String,String> ms = new HashMap<String,String>();
ms.put("1", "乒乓球");
ms.put("2", "网球");
ms.put("3", "排球");
ms.put("4", "羽毛球");
ms.put("5", "篮球");

request.setAttribute("ms", ms);

%>>
<s:form action="testfrom" method="post">

	<s:textfield name="userID" label="ID" value="请输入ID"></s:textfield>
	<s:textfield name="userName" label="用户名"></s:textfield>
	<s:password name="password" label="密码" ></s:password>
	<s:hidden name="testhidden" label="隐藏域的内容"></s:hidden>
	<s:radio name="sex" list="#{'1':'男','2':'女'}" label="性别"></s:radio>
	
	<s:checkboxlist list="#{'1':'篮球','2':'足球'}" name="sport" label="运动项目1"></s:checkboxlist>
	
	<s:checkboxlist list="#request.ms" name="sport" label="运动项目2"></s:checkboxlist>
	
	<s:set  name="sop" value="#request.ms"></s:set>
	<s:select headerValue="3" list="#sop" name="aaa" label="运动项目3"></s:select>
	
	
	<s:textarea name="testarea" label="个人说明" cols="20" rows="10"></s:textarea>
	
	<s:checkbox name="admin" label="管理员" fieldValue="hh"></s:checkbox>
	
	<s:submit value="提交" type="submit" align="center"></s:submit>
</s:form>




</body>
</html>

  

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ taglib prefix="s" uri="/struts-tags" %>
<!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>
</head>
<body>
表单回显<br><br>
<s:form action="testfrom" method="post">

	<s:textfield name="userID" label="回显ID"></s:textfield>
	<s:textfield name="userName" label="回显用户名"></s:textfield>
	<s:password name="password" label="回显密码" showPassword="true"></s:password>
	<s:checkbox name="admin" label="回显管理员"></s:checkbox>
	
</s:form>
<br><br>
<s:debug></s:debug>
</body>
</html>

  回显页面

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
	<!-- 覆盖默认的过滤的扩展名-->
	<constant name="struts.action.extension" value="do,action,,"></constant> 
	
	
	<!-- 启用动态调用 
	<constant name=""></constant>-->
	
	<!-- 允许调用静态方法和静态属性 -->
	<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>
	
	<!-- 定义包 -->
	<package name="text" extends="struts-default" >
		<action name="testfrom" class="com.hanqi.action.TestFromAction">
			<result>view.jsp</result>
		
		</action>
		
		
	
	</package>

</struts>

  

原文地址:https://www.cnblogs.com/liuyanzeng/p/6086454.html