(五)Struts2 标签

所有的学习我们必须先搭建好Struts2的环境(1、导入对应的jar包,2、web.xml,3、struts.xml)

第一节:Struts2 标签简介

Struts2 自己封装了一套标签,比JSTL 强大,而且与Struts2 中的其他功能无缝结合。

当然Strust2 标签的内容很多,随着版本的升级,标签和属性越来越多。我们要掌握好核心标签及了解其他标签。

根据功能可以分为:数据标签,控制标签,界面标签,其他标签

第二节:Struts2 数据标签

Property 标签:输出OGNL 表达式的值;
Set 标签:设置变量;
Bean 标签:定义javaBean 对象;
Date 标签:日期标签;
Debug 标签:调试标签;
Url&a 标签:超链接标签;
Include 标签:动态包含标签;

 

 struts.xml
1
<?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE struts PUBLIC 3 "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 4 "http://struts.apache.org/dtds/struts-2.0.dtd"> 5 6 <struts> 7 8 9 <package name="manage" namespace="/" extends="struts-default"> 10 11 </package> 12 13 </struts>

 

 Student.java
1
package com.wishwzp.model; 2 3 public class Student { 4 5 private int id; 6 private String name; 7 private int age; 8 9 public Student() { 10 super(); 11 // TODO Auto-generated constructor stub 12 } 13 14 public Student(int id, String name, int age) { 15 super(); 16 this.id = id; 17 this.name = name; 18 this.age = age; 19 } 20 21 public int getId() { 22 return id; 23 } 24 public void setId(int id) { 25 this.id = id; 26 } 27 public String getName() { 28 return name; 29 } 30 public void setName(String name) { 31 this.name = name; 32 } 33 public int getAge() { 34 return age; 35 } 36 public void setAge(int age) { 37 this.age = age; 38 } 39 40 }

 

 dataTag.jsp
1
<%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 7 <title>Insert title here</title> 8 </head> 9 <body> 10 <h>数据标签</h> 11 <hr/> 12 <a href="data/property.jsp" target="_blank">property标签</a><br/> 13 <a href="data/set.jsp" target="_blank">set标签</a><br/> 14 <a href="data/bean.jsp" target="_blank">bean标签</a><br/> 15 <a href="data/date.jsp" target="_blank">date标签</a><br/> 16 <a href="data/debug.jsp" target="_blank">debug标签</a><br/> 17 <a href="data/url_a.jsp" target="_blank">url_a标签</a><br/> 18 <a href="data/include.jsp" target="_blank">include标签</a><br/> 19 </body> 20 </html>

 

页面结果:

 

上面的是一个主的页面,会跳转到以下几个页面的。(一下页面都会在WebContent下的data文件夹中)

Property 标签:输出OGNL 表达式的值;

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <%@taglib prefix="s" uri="/struts-tags" %>
 5 <html>
 6 <head>
 7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 8 <title>Insert title here</title>
 9 <%
10     request.setAttribute("name","<font color=red>张三</font>");
11 %>
12 </head>
13 <body>
14 <s:property value="#request.name" /><br/>
15 <s:property value="#request.name2" default="某某人"/><br/>
16 <s:property value="#request.name" default="某某人" escapeHtml="false"/><br/>
17 </body>
18 </html>
property.jsp

 

结果:


Set 标签:设置变量;

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <%@taglib prefix="s" uri="/struts-tags" %>
 5 <html>
 6 <head>
 7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 8 <title>Insert title here</title>
 9 </head>
10 <body>
11 <s:set var="i" value="1"></s:set>
12 <s:property value="#i" /><br/>
13 <s:set var="a"  value="'action范围的值'" scope="action"></s:set>
14 <s:set var="p"  value="'page范围的值'" scope="page"></s:set>
15 <s:set var="r"  value="'request范围的值'" scope="request"></s:set>
16 <s:set var="s"  value="'session范围的值'" scope="session"></s:set>
17 <s:set var="app"  value="'application范围的值'" scope="application"></s:set>
18 <s:property value="#a" /><br/>
19 <s:property value="#attr.p"/><br/>
20 <s:property value="#request.r"/><br/>
21 <s:property value="#session.s"/><br/>
22 <s:property value="#application.app"/><br/>
23 </body>
24 </html>
set.jsp

 

结果:

 

Bean 标签:定义javaBean 对象;

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <%@taglib prefix="s" uri="/struts-tags" %>
 5 <html>
 6 <head>
 7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 8 <title>Insert title here</title>
 9 </head>
10 <body>
11 <s:bean name="com.wishwzp.model.Student" var="student">
12     <s:param name="name" value="'张三'"></s:param>
13     <s:param name="age" value="10"></s:param>
14 </s:bean> 
15 <s:property value="#student.name"/>
16 <s:property value="#student.age"/>
17 </body>
18 </html>
bean.jsp

 

结果:

 

Date 标签:日期标签;

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <%@ page import="java.util.*" %>
 4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 5 <%@taglib prefix="s" uri="/struts-tags" %>
 6 <html>
 7 <head>
 8 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 9 <title>Insert title here</title>
10 <%
11     request.setAttribute("date",new Date());
12 %>
13 </head>
14 <body>
15 ${date }<br/>
16 当前日期:<s:date name="#request.date" format="yyyy-MM-dd"/>
17 </body>
18 </html>
date.jsp

 

结果:

 

Debug 标签:调试标签;

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <%@taglib prefix="s" uri="/struts-tags" %>
 5 <html>
 6 <head>
 7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 8 <title>Insert title here</title>
 9 </head>
10 <body>
11 <s:debug></s:debug>
12 </body>
13 </html>
debug.jsp

 

结果:

 

 

Url&a 标签:超链接标签;

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <%@taglib prefix="s" uri="/struts-tags" %>
 5 <html>
 6 <head>
 7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 8 <title>Insert title here</title>
 9 </head>
10 <body>
11 <s:url action="hello" namespace="/foreground" id="h">
12     <s:param name="name" value="'struts2'"></s:param>
13 </s:url>
14 <s:a href="%{h}">超链接</s:a>
15 
16 <s:a action="hello" namespace="/foreground">
17     <s:param name="name" value="'struts2'"></s:param>
18     超链接2
19 </s:a>
20 </body>
21 </html>
url_a.jsp

 

结果:

 

Include 标签:动态包含标签;

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <%@taglib prefix="s" uri="/struts-tags" %>
 5 <html>
 6 <head>
 7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 8 <title>Insert title here</title>
 9 </head>
10 <body>
11 <s:include value="head.html"></s:include>
12 </body>
13 </html>
include.jsp

 

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 5 <title>Insert title here</title>
 6 </head>
 7 <body>
 8 头部
 9 </body>
10 </html>
head.html

 

结果:

 

第三节:Struts2 控制标签

Ifelse 标签:条件判断标签;
Iterator 标签:遍历标签;
Append 标签:叠加标签;
Generator 标签:分隔标签;
Merge 标签:组合标签;
Sort 标签:排序标签;
Subset 标签:截取标签;

 

MyComparator.java
 1 package com.wishwzp.comparator;
 2 
 3 import java.util.Comparator;
 4 
 5 import com.wishwzp.model.Student;
 6 
 7 public class MyComparator implements Comparator<Student>{
 8 
 9     public int compare(Student s1, Student s2) {
10         if(s1.getAge()>s2.getAge()){
11             return 1;
12         }else if(s1.getAge()<s2.getAge()){
13             return -1;
14         }
15         return 0;
16     }
17 
18 }

 

 

controlTag.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 7 <title>Insert title here</title>
 8 </head>
 9 <body>
10 <h>控制标签</h>
11 <hr/>
12 <a href="control/ifelse.jsp" target="_blank">ifelse标签</a><br/>
13 <a href="control/iterator.jsp" target="_blank">iterator标签</a><br/>
14 <a href="control/append.jsp" target="_blank">append标签</a><br/>
15 <a href="control/generator.jsp" target="_blank">generator标签</a><br/>
16 <a href="control/merge.jsp" target="_blank">merge标签</a><br/>
17 <a href="control/sort.jsp" target="_blank">sort标签</a><br/>
18 <a href="control/subset.jsp" target="_blank">subset标签</a><br/>
19 </body>
20 </html>

 

上面的是一个主的页面,会跳转到以下几个页面的。(一下页面都会在WebContent下的control文件夹中)

结果:

 

Ifelse 标签:条件判断标签;

ifelse.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <%@taglib prefix="s" uri="/struts-tags" %>
 5 <html>
 6 <head>
 7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 8 <title>Insert title here</title>
 9 <%
10     int age=11;
11     request.setAttribute("age",age);
12 %>
13 </head>
14 <body>
15 <s:if test="#request.age<20">
16     年龄小于20岁
17 </s:if>
18 <s:elseif test="#request.age==20">
19     年龄等于20岁
20 </s:elseif>
21 <s:else>
22     年龄大于20岁
23 </s:else>
24 </body>
25 </html>

 

结果:

 

 

Iterator 标签:遍历标签;

iterator.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <%@ page import="com.wishwzp.model.Student" %>
 4 <%@ page import="java.util.*" %>
 5 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 6 <%@taglib prefix="s" uri="/struts-tags" %>
 7 <html>
 8 <head>
 9 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
10 <title>Insert title here</title>
11 <%
12     List<Student> studentList=new ArrayList<Student>();
13     studentList.add(new Student(1,"张三",10));
14     studentList.add(new Student(3,"李四",20));
15     studentList.add(new Student(5,"王五",30));
16     request.setAttribute("studentList",studentList);
17 %>
18 </head>
19 <body>
20 <table>
21     <tr>
22         <th>序号</th>
23         <th>编号</th>
24         <th>姓名</th>
25         <th>年龄</th>
26     </tr>
27     <s:iterator value="#request.studentList" status="status">
28     <tr>
29         <td><s:property value="#status.index+1"/></td>
30         <td><s:property value="id"/></td>
31         <td><s:property value="name"/></td>
32         <td><s:property value="age"/></td>
33     </tr>
34     </s:iterator>
35 </table>
36 </body>
37 </html>

 

结果:

 

Append 标签:叠加标签;

append.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <%@ page import="com.wishwzp.model.Student" %>
 4 <%@ page import="java.util.*" %>
 5 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 6 <%@taglib prefix="s" uri="/struts-tags" %>
 7 <html>
 8 <head>
 9 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
10 <title>Insert title here</title>
11 <%
12     List<Student> studentList1=new ArrayList<Student>();
13     List<Student> studentList2=new ArrayList<Student>();
14     studentList1.add(new Student(1,"张三",10));
15     studentList1.add(new Student(3,"李四",20));
16     studentList2.add(new Student(5,"王五",30));
17     studentList2.add(new Student(7,"赵六",40));
18     request.setAttribute("studentList1",studentList1);
19     request.setAttribute("studentList2",studentList2);
20 %>
21 </head>
22 <body>
23 <!-- 把studentList1和studentList2叠加到studentList3中 -->
24 <s:append var="studentList3">
25     <s:param value="#request.studentList1"></s:param>
26     <s:param value="#request.studentList2"></s:param>
27 </s:append>
28 <table>
29     <tr>
30         <th>序号</th>
31         <th>编号</th>
32         <th>姓名</th>
33         <th>年龄</th>
34     </tr>
35     <s:iterator value="studentList3" status="status">
36     <tr>
37         <td><s:property value="#status.index+1"/></td>
38         <td><s:property value="id"/></td>
39         <td><s:property value="name"/></td>
40         <td><s:property value="age"/></td>
41     </tr>
42     </s:iterator>
43 </table>
44 </body>
45 </html>

 

结果:

 

Generator 标签:分隔标签;

generator.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <%@taglib prefix="s" uri="/struts-tags" %>
 5 <html>
 6 <head>
 7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 8 <title>Insert title here</title>
 9 </head>
10 <body>
11 <s:generator separator="," val="'张三,李四,王五'" var="nameList"></s:generator>
12 
13 <s:iterator value="#nameList">
14     <s:property/>
15 </s:iterator>
16 </table>
17 </body>
18 </html>

 

结果:

 

Merge 标签:组合标签;

merge.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <%@ page import="com.wishwzp.model.Student" %>
 4 <%@ page import="java.util.*" %>
 5 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 6 <%@taglib prefix="s" uri="/struts-tags" %>
 7 <html>
 8 <head>
 9 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
10 <title>Insert title here</title>
11 <%
12     List<Student> studentList1=new ArrayList<Student>();
13     List<Student> studentList2=new ArrayList<Student>();
14     studentList1.add(new Student(1,"张三",10));
15     studentList1.add(new Student(3,"李四",20));
16     studentList2.add(new Student(5,"王五",30));
17     studentList2.add(new Student(7,"赵六",40));
18     request.setAttribute("studentList1",studentList1);
19     request.setAttribute("studentList2",studentList2);
20 %>
21 </head>
22 <body>
23 <s:merge var="studentList3">
24     <s:param value="#request.studentList1"></s:param>
25     <s:param value="#request.studentList2"></s:param>
26 </s:merge>
27 <table>
28     <tr>
29         <th>序号</th>
30         <th>编号</th>
31         <th>姓名</th>
32         <th>年龄</th>
33     </tr>
34     <s:iterator value="studentList3" status="status">
35     <tr>
36         <td><s:property value="#status.index+1"/></td>
37         <td><s:property value="id"/></td>
38         <td><s:property value="name"/></td>
39         <td><s:property value="age"/></td>
40     </tr>
41     </s:iterator>
42 </table>
43 </body>
44 </html>

 

结果:

 

Sort 标签:排序标签;

sort.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <%@ page import="com.wishwzp.model.Student" %>
 4 <%@ page import="java.util.*" %>
 5 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 6 <%@taglib prefix="s" uri="/struts-tags" %>
 7 <html>
 8 <head>
 9 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
10 <title>Insert title here</title>
11 <%
12     List<Student> studentList1=new ArrayList<Student>();
13     studentList1.add(new Student(1,"张三",20));
14     studentList1.add(new Student(3,"李四",10));
15     studentList1.add(new Student(5,"王五",40));
16     studentList1.add(new Student(7,"赵六",30));
17     request.setAttribute("studentList1",studentList1);
18 %>
19 </head>
20 <body>
21 <s:bean id="myComparator" name="com.wishwzp.comparator.MyComparator"></s:bean>
22 
23 
24 
25 <table>
26     <tr>
27         <th>序号</th>
28         <th>编号</th>
29         <th>姓名</th>
30         <th>年龄</th>
31     </tr>
32     <s:sort comparator="#myComparator" source="#request.studentList1" >
33     <s:iterator status="status">
34     <tr>
35         <td><s:property value="#status.index+1"/></td>
36         <td><s:property value="id"/></td>
37         <td><s:property value="name"/></td>
38         <td><s:property value="age"/></td>
39     </tr>
40     </s:iterator>
41     </s:sort>
42 </table>
43 </body>
44 </html>

 

结果:

 

Subset 标签:截取标签;

subset.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <%@ page import="com.wishwzp.model.Student" %>
 4 <%@ page import="java.util.*" %>
 5 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 6 <%@taglib prefix="s" uri="/struts-tags" %>
 7 <html>
 8 <head>
 9 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
10 <title>Insert title here</title>
11 <%
12     List<Student> studentList1=new ArrayList<Student>();
13     studentList1.add(new Student(1,"张三",20));
14     studentList1.add(new Student(3,"李四",10));
15     studentList1.add(new Student(5,"王五",40));
16     studentList1.add(new Student(7,"赵六",30));
17     request.setAttribute("studentList1",studentList1);
18 %>
19 </head>
20 <body>
21 
22 <table>
23     <tr>
24         <th>序号</th>
25         <th>编号</th>
26         <th>姓名</th>
27         <th>年龄</th>
28     </tr>
29     <s:subset source="#request.studentList1" count="2" start="2">
30     <s:iterator status="status">
31     <tr>
32         <td><s:property value="#status.index+1"/></td>
33         <td><s:property value="id"/></td>
34         <td><s:property value="name"/></td>
35         <td><s:property value="age"/></td>
36     </tr>
37     </s:iterator>
38     </s:subset>
39 </table>
40 </body>
41 </html>

 

结果:

 

第四节:Strut2 界面标签

Form 标签:表单提交标签;

Text 标签:文本标签;

Radios 标签:单选标签;

Checkboxlist 标签:复选框标签;

Select 标签:下拉框标签;

 struts.xml
1
<?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE struts PUBLIC 3 "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 4 "http://struts.apache.org/dtds/struts-2.0.dtd"> 5 6 <struts> 7 8 9 <package name="manage" namespace="/" extends="struts-default"> 10 11 </package> 12 13 </struts>

 

 uiTag.jsp
1
<%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 7 <title>Insert title here</title> 8 </head> 9 <body> 10 <h>界面标签</h> 11 <hr/> 12 <a href="ui/form.jsp" target="_blank">form标签</a><br/> 13 <a href="ui/text.jsp" target="_blank">文本标签</a><br/> 14 <a href="ui/radio.jsp" target="_blank">单选标签</a><br/> 15 <a href="ui/checkbox.jsp" target="_blank">复选框标签</a><br/> 16 <a href="ui/select.jsp" target="_blank">下拉框标签</a><br/> 17 </body> 18 </html>

 

上面的是一个主的页面,会跳转到以下几个页面的。(一下页面都会在WebContent下的ui文件夹中)

结果:

Form 标签:表单提交标签;

form.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <%@taglib prefix="s" uri="/struts-tags" %>
 5 <html>
 6 <head>
 7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 8 <title>Insert title here</title>
 9 </head>
10 <body>
11 <s:form action="hello" method="post" namespace="/foreground">
12 </s:form>
13 </body>
14 </html>

 

 

Text 标签:文本标签;

text.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <%@taglib prefix="s" uri="/struts-tags" %>
 5 <html>
 6 <head>
 7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 8 <title>Insert title here</title>
 9 </head>
10 <body>
11 用户名:<s:textfield name="userName"></s:textfield><br/>
12 密码:<s:password name="password"></s:password><br/>
13 备注:<s:textarea name="desc"></s:textarea><br/>
14 </body>
15 </html>

 

结果:

Radios 标签:单选标签;

radios.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <%@taglib prefix="s" uri="/struts-tags" %>
 5 <html>
 6 <head>
 7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 8 <title>Insert title here</title>
 9 </head>
10 <body>
11 性别:<s:radio list="#{0: '男 ', 1:'女 '}" name="sex" value="0" /> 
12 </body>
13 </html>

 

结果:

Checkboxlist 标签:复选框标签;

checkbox.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <%@taglib prefix="s" uri="/struts-tags" %>
 5 <html>
 6 <head>
 7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 8 <title>Insert title here</title>
 9 </head>
10 <body>
11 爱好:<s:checkboxlist list="#{0: '游泳', 1:'唱歌 ',2:'跳舞'}" name="hobby" value="1" /> 
12 </body>
13 </html>

 

结果:

Select 标签:下拉框标签;

select.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <%@taglib prefix="s" uri="/struts-tags" %>
 5 <html>
 6 <head>
 7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 8 <title>Insert title here</title>
 9 </head>
10 <body>
11 爱好:<s:select list="#{0: '游泳', 1:'唱歌 ',2:'跳舞'}" name="hobby" value="1" multiple="true"/> 
12 </body>
13 </html>

 

结果:

第五节:其他标签

Updownselect 标签;

Optiontransferselect 标签;

otherTag.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 7 <title>Insert title here</title>
 8 </head>
 9 <body>
10 <h>其他标签</h>
11 <hr/>
12 <a href="other/updownselect.jsp" target="_blank">updownselect标签</a><br/>
13 <a href="other/optiontransferselect.jsp" target="_blank">optiontransferselect标签</a><br/>
14 </body>
15 </html>

 

上面的是一个主的页面,会跳转到以下几个页面的。(一下页面都会在WebContent下的ui文件夹中)

结果:

Updownselect 标签;

updownselect.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <%@taglib prefix="s" uri="/struts-tags" %>
 5 <html>
 6 <head>
 7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 8 <title>Insert title here</title>
 9 </head>
10 <body>
11 <s:updownselect 
12     list="#{0:'游泳', 1:'唱歌', 2:'跳舞'}"
13     name="hobby" 
14     headerKey="-1"
15     headerValue="请选择" 
16     emptyOption="true"
17     allowMoveUp="true" 
18     allowMoveDown="true" 
19     allowSelectAll="true"
20     moveUpLabel="向上" 
21     moveDownLabel="向下"
22     selectAllLabel="全选" /> 
23 </body>
24 </html>

 

结果:

Optiontransferselect 标签;

optiontransferselect.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <%@taglib prefix="s" uri="/struts-tags" %>
 5 <html>
 6 <head>
 7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 8 <title>Insert title here</title>
 9 </head>
10 <body>
11 <s:optiontransferselect label="选择你喜欢图书"  
12               name="cnbook" leftTitle="中文图书"  list="{'struts2权威指南','轻量级javaeye 企业应用空实战','ajax讲义'}"
13               doubleName="enBook"  rightTitle="外文图书" doubleList="{'JavaScrip:The definitive Guide','export one-to-one'}"  multiple="true" 
14               addToLeftLabel="向左移动" addToRightLabel="向右移动" addAllToRightLabel="全部右移" addAllToLeftLabel="全部左移"
15                allowSelectAll="true" headerKey="cnKey" headerValue="选择图书" emptyOption="true"   doubleHeaderKey="enKey" 
16                doubleHeaderValue="选择外文图书" doubleMultiple="true" doubleEmptyOption="true"  leftDownLabel="向下移动" 
17        rightDownLabel="向下移动" 
18        leftUpLabel="向上移动" 
19        rightUpLabel="向上移动" >
20    </s:optiontransferselect>
21 </body>
22 </html>

 

结果:

 

转载于:https://www.cnblogs.com/wishwzp/p/5472013.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/357261.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS常见问题解答

学习资源主要分享 一、解答学习者的担心:手机/生态设备数量 、应用数量

推荐几十本投资书籍、互联网书籍及热门查看流量的工具

工欲善其事必先利其器,今天孙叫兽给大家分享一下互联网运营的书籍、投资的书籍及一些查看抖音、微信公众号等后台数据的工具,个人感觉还是很实用的,内容有点多,不知道的可以根据图中的文字进行搜索。 互联网运行推荐阅书籍 投资理财的书籍 这里仅仅提供书籍的名称,根据书名…

Java Swing模型视图适配器介体

通常&#xff0c;我基于Spring Framework构建Java应用程序。 但是&#xff0c;最近有人要求我使用与语言无关的MVC框架PureMVC为客户端实现Java桌面应用程序&#xff0c;因此以下是我在Java Swing中为PureMVC进行员工管理展示的演示实现。 如果您想继续&#xff0c;可以在GitHu…

程序员跳槽指南

找工作是件非常重要的事情,它直接影响你1~2年,间接影响你3~5年的人生。⼀个潜在的机会会让你少奋斗很多年,而一次冲动的离职,会让你和千万财富错失交臂。 忘掉那些随地乱扔的小广告,还有从几十个样本做出来的所谓调查报告,换工作不是⼀场说走就走的旅行,而是⼀个深思熟虑…

netbeans 源文件_具有NetBeans,WebLogic 12c,JPA和MySQL数据源的Arquillian

netbeans 源文件您可能已关注我的文章&#xff0c;该文章介绍了如何使用嵌入式GlassFish测试更复杂的场景&#xff08; 第I部分/第II部分 &#xff09;。 在我要做的事情上&#xff0c;下一步是使此设置与最新的WebLogic 12c一起使用。 入门 按照我的前两个帖子的入门部分中的…

程序员外包避坑指南?

为什么我不建议你去外包? 外包的分类 外包公司一般有两类,一类是驻场外包,一类是非驻场外包。二者的区别为是否需要被外派到甲方公司上班。如果需要,那么就属于驻场外包,否则就是非驻场外包。 虽然都是外包,但是两者的区别还是挺大的。 先说说驻场外包。由于需要被外派到…

数据库设计三大范式

数据库设计三大范式 为了建立冗余较小、结构合理的数据库&#xff0c;设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库&#xff0c;必须满足一定的范式。 在实际开发中最为常见的设…

在各个PC端应用使用表情的快捷键,王大妈都开始用这个表情啦

很多人像在文章或者聊天使用表情&#xff0c;但是不知道如何输入&#xff0c;下面孙叫兽就来带你体验一下吧 快捷键 win. 比如在微信聊天框使用win. 就可以输入表情符号&#xff0c;颜文字及符号。 你们学废了&#xff1f;

扩展Java EE应用程序的基础

老实说&#xff0c;“可扩展性”是一个详尽的主题&#xff0c;并且通常没有被很好地理解。 通常&#xff0c;它被假定与高可用性相同。 我已经看到新手程序员和“经验丰富”的建筑师都建议将“ 集群 ”作为可伸缩性和HA的解决方案。 它实际上没有任何问题&#xff0c;但是问题在…

史上最全wireshark使用教程,8万字整理总结,建议先收藏再耐心研读

目录 第 1 章 介绍... 1 1.1. 什么是Wireshark. 1 1.1.1. 主要应用... 1

小白自学前端,轻松月入过万哦!

第一、 前端的入门操作 首先是要熟悉前端的基础操作。 前端的基础&#xff1a;JavaScript&#xff0c;HTML&#xff0c;CSS&#xff0c;然后可以深入学习jQuery。 如果你是想 1.专攻网页&#xff0c;那你就学习HTML。 2.专攻层叠样式表&#xff0c;就学习CSS&#xff0c;它可以…

netbeans代码提示_Java代码现代化的七个NetBeans提示

netbeans代码提示在“ 七个不可或缺的NetBeans Java提示”一文中 &#xff0c;我谈到了一般使用NetBeans提示的问题&#xff0c;然后重点介绍了七个提示。 接下来列出了该帖子中强调的七个提示&#xff1a; 可疑方法调用 使用或&#xff01; AND字符串构造函数比较字符串 构造…

史上最全SVN使用总结,建议先收藏后观看

最近在公司又开始玩SVN啦&#xff0c;这里给大家总结一下&#xff0c;基本上在公司不是用git就是用SVN进行代码管理&#xff0c;作为程序员&#xff0c;这些工具的使用还是需要熟悉了解一下的&#xff0c;本期孙叫兽给大家分享一下SVN相关的知识点&#xff0c;做到会用即可。不…

JS常用正则表达式

感谢水之原的整理&#xff0c;比较全得正则表达式 整数或者小数&#xff1a;^[0-9]\.{0,1}[0-9]{0,2}$只能输入数字&#xff1a;"^[0-9]*$"。只能输入n位的数字&#xff1a;"^\d{n}$"。只能输入至少n位的数字&#xff1a;"^\d{n,}$"。只能输入m~…

14万字面试题汇总整理,祝你顺利斩获大厂前端offer

导读&#xff1a;最近很多小伙伴私信我说&#xff0c;一般大厂的前端面试题都有哪些&#xff0c;应该如何准备&#xff0c;要不要刷题等等&#xff0c;这里孙叫兽简单给大家总结一下前端的高频面试题&#xff0c;如果对你有帮助&#xff0c;记得点赞评论收藏。现在很多大厂都比…

又见链表 --- 另一种Creat方式与反转

链表 作为一种数据结构&#xff0c;链表以其方便的增删查改功能&#xff0c;实现了无数经典有用的程序。 在之前的帖子里&#xff0c;我构建链表的方式是建立一个不储存数据的head节点&#xff0c;然后通过一边输入数据一边建立结点的方式构建整个链表。 与之前不同的是&#x…

现在抖音这么火,那么你知道如何用CSS实现抖音字体?

比如这种抖音字体是不是感觉很酷,它是如何实现的呢,下面孙叫兽就简单分享一下CSS的实现方法,记得点赞收藏。 老司机给大家的一些小建议,一定要敲代码敲代码敲代码(重要的事情说三遍),程序员是实战家,不是思想家和理论家,程序员都是工兵,这个排雷的经验很重要。 实现这…

史上最全关于苹果开发者账号及上架APPStore总结

很多人如果开发这种移动应用APP,上架到到APPStore难免会遇到一系列的问题,这里孙叫兽进行总结一下,如果本文对你有帮助,记得转发点赞收藏。 一: 开发者账号的介绍 1 个人开发者账号 申请费用: 99美元/年 介绍:一般由iOS开发者个人申请,上架开发者自己的APP作品到苹果商…

EK算法应用,构图(POJ1149)

题目链接&#xff1a;http://poj.org/problem?id1149 题意中有一点要注意&#xff0c;否则构图就会有问题&#xff0c;每个顾客走后&#xff0c;被打开过的那些猪圈中的猪都可以被任意的调换到其他开着的猪圈中。 这里的构图不是单一的相邻&#xff0c;以及容量了&#xff0c;…

平台代码检查工具:sonarLint+sonarqube安装教程

加强对代码质量的管控要求&#xff0c;不允许新增代码部分出现严重、重要、主要等sonar扫描问题。 大家按以下文档安装开发工具对应的代码检测插件&#xff0c;请大家务必重视、执行.这里只介绍前端开发VSCode,后端开发Eclipse,两种代表性的编译器安装sonarLintsonarqube方法,其…