标签:ui标签之表单标签 struts2之ui标签 表单标签的一个例子
1.最近写了一篇文章,介绍了一下Struts2中UI标签的表单标签,文章地址为:http://blog.csdn.net/u012561176/article/details/44986183因为缺少了个例子,大家看文字和表格也看不出什么效果来,所以今天来介绍一个例子,用Struts2中UI标签的表单标签实现一个个人信息的表单,但是有些表单标签没有演示出来,大家可以根据我介绍UI标签的表单标签来进行学习,这里只是给个例子。
2.首先新建一个Struts2项目,项目名为PersonMessage,项目的结构图如下:
(1).首先新建一个jsp页面,页面名为form1.jsp,改变编码方式为utf-8,因为我们这里使用的是Struts2的UI标签,不是HTML的标签,所以必须用taglib 编译指令导入Struts2的标签库定义,其中必须在JSP页面的顶部加上这行代码:
<%@ taglib uri="/struts-tags" prefix="s"%>
其中form1.jsp页面完整代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ taglib uri="/struts-tags" prefix="s"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> </head> <body> <center> <s:form action="personAction" namespace="/"> <s:textfield name="username" label="用户名" /> <br /> <s:password name="password" label="密码" /> <br /> <s:textfield name="truename" label="真实姓名" /> <br /> <!-- 使用字符串集合生成单选框 --> <s:radio list="{'男','女'}" name="sex" label="性别"></s:radio> <br /> <s:select list="#{'高中':'高中','大学':'大学','硕士':'硕士','博士':'博士'}" name="education" label="最高学历"></s:select> <br /> <!-- 使用Map对象来生成doubleselect --> <s:set name="pc" value="#{'广东省':{'广州市','深圳市','珠海市','东莞市','中山市'},'江苏省':{'南京市','苏州市','扬州市' },'河南省':{'郑州市','洛阳市','开封市','南阳市'}}" /> <s:doubleselect doubleList="#pc[top]" list="#pc.keySet()" doubleName="city" label="所在省份的城市" name="province"></s:doubleselect> <br /> <s:checkboxlist list="{'编程','音乐','写技术博客','玩游戏'}" name="favorite" label="个人爱好"></s:checkboxlist> <br /> <s:combobox list="{'苹果','香蕉','梨','草莓','西瓜','菠萝','芒果','橘子'}" label="喜欢吃的水果" name="fruit" value="苹果"></s:combobox> <s:updownselect list="#{'C语言':'C语言','Java':'Java','C#':'C#','c++':'c++','HTML':'HTML','R语言':'R语言'}" label="你喜欢的编程语言" name="language" selectAllLabel="全选" moveUpLabel="上移" moveDownLabel="下移"></s:updownselect> <s:submit type="button" align="left" value="提交"></s:submit> </s:form> </center> </body> </html>
在上面这个form1.jsp页面中使用<s:form>标签,并使用表单元素标签创建一些表单元素,以供用户输入或选择相关的内容,用<s:textfield>标签完成用户名和真实姓名的输入,用<s:password>标签完成密码的输入,用<s:radio>标签完成性别的选择,用<s:select>标签完成最高学历的选择,用<s:doubleselect>标签完成省份的城市的选择,用<checkboxlist>标签完成个人爱好的选择,用<s:combobox>标签完成喜欢吃的水果的选择,用<s:updownselect>标签完成喜欢的编程语言的选择,用<s:submit>标签提交,提交到personAction这个action去。
(2).接着新建一个PersonFormAction类,声明一些属性,并分别为这些属性创建get和set方法,重写ActionSupport类的execute()方法,完整代码如下:
package com.gk.action; import com.opensymphony.xwork2.ActionSupport; public class PersonFormAction extends ActionSupport { private String username;// 声明用户姓名属性 private String password;// 声明密码属性 private String truename;// 声明真实姓名属性 private String sex;// 声明性别属性 private String education;// 声明学历属性 private String province;// 声明省份属性 private String city;// 声明城市属性 private String favorite;// 声明爱好属性 private String fruit;// 声明喜欢吃的水果属性 private String language;// 声明你喜欢的编程语言 /* * 为上面这些属性创建set和get方法 */ public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getTruename() { return truename; } public void setTruename(String truename) { this.truename = truename; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getEducation() { return education; } public void setEducation(String education) { this.education = education; } public String getProvince() { return province; } public void setProvince(String province) { this.province = province; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getFavorite() { return favorite; } public void setFavorite(String favorite) { this.favorite = favorite; } public String getFruit() { return fruit; } public void setFruit(String fruit) { this.fruit = fruit; } public String getLanguage() { return language; } public void setLanguage(String language) { this.language = language; } /** * 重写ActionSupport类的execute()方法 */ public String execute() { return SUCCESS; } }
(3).打开项目目录的struts.xml配置文件,向该文件添加PersonFormAction配置,完整代码如下:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.enable.DynamicMethodInvocation" value="true"></constant> <constant name="struts.devMode" value="true"></constant> <constant name="struts.custom.i18n.resources" value="globalMessages"></constant> <package name="person" namespace="/" extends="struts-default"> <action name="personAction" class="com.gk.action.PersonFormAction"> <result>/personinfo.jsp</result> </action> </package> </struts>
(4).接着在WebRoot目录下,新建一个personinfo.jsp页面,修改编码方式为utf-8,用来提交表单到action之后获得表单输入的内容,即获取action的属性值,完整代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ taglib uri="/struts-tags" prefix="s"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'personinfo.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> 用户名为: <s:property value="username" /> <br /> 密码为: <s:property value="password" /> <br /> 真实姓名为: <s:property value="truename" /> <br /> 性别为: <s:property value="sex" /> <br /> 最高学历为: <s:property value="#parameters.education" /> <br /> 所在地为: <s:property value="province" /> <s:property value="city" /> <br /> 个人爱好为: <s:property value="favorite" /> <br/>喜欢吃的水果为: <s:property value="fruit"/> <br/>喜欢的编程语言是: <s:property value="#parameters.language"/> </body> </html>
其中如果在使用表单标签,使用#{}这种方式赋值的话,获取属性时可以使用#parameters.属性名。
(5).通过上面4步代码的编写,就完成了个人信息表单的创建,并可以获得在表单相应输入的内容,接着部署这个项目到Tomcat服务器上,开启Tomcat服务器,在地址栏输入相应的地址后,如下图所示:
就出现了上图这个界面,可以由我们自己输入和选择其中的内容,我随便输入内容和选择后,如下图所示:
再点击提交按钮,就可以获取到输入和选择的内容:
3.以上内容仅供大家爱学习参考,写得不好,请见谅,如有错误,请指出,谢谢!
标签:ui标签之表单标签 struts2之ui标签 表单标签的一个例子
原文地址:http://blog.csdn.net/u012561176/article/details/45077533