首页 > 技术文章 > 利用strust2标签<s:bean>校验用户名(亲测成功)

wck1988 2014-01-02 15:36 原文

1、创建javabean类并在构造函数中获取数据库中的用户名集合(这里我直接在构造函数中初始化用户集合,当在实际开发中使用的时候可以去数据库中取所有用户名)

 1 package wck.stu.action;
 2 
 3 import java.util.ArrayList;
 4 import java.util.List;
 5 
 6 public class TestJavabean {
 7     private String name = "";
 8     
 9     private int age =0;
10     
11     private List<String> list = new ArrayList<String>();
12     
13     public TestJavabean() {
14         this.setAge(24);
15         this.setName("wck");
16         this.list.add("aaa");
17         this.list.add("bbb");
18         this.list.add("ccc");
19         this.list.add("ddd");
20     }
21     public String getName() {
22         return name;
23     }
24 
25     public void setName(String name) {
26         this.name = name;
27     }
28 
29     public int getAge() {
30         return age;
31     }
32 
33     public void setAge(int age) {
34         this.age = age;
35     }
36     public List<String> getList() {
37         return list;
38     }
39     public void setList(List<String> list) {
40         this.list = list;
41     }
42 }

2、在jsp中利用struts2标签<s:bean></s:bean>创建javabean类的对象获取用户集合,并将集合转化成jsp页面的数组,在提交表单的时候循环校验用户名是否存在如果存在则提交表单,如果不存在则提示用户

 1 <%@page import="java.text.SimpleDateFormat"%>
 2 <%@page import="java.sql.*"%>
 3 <%@ page contentType="text/html; charset=utf-8"%>
 4 <%@ taglib prefix="s" uri="/struts-tags"%>
 5 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 6 <html>
 7 <head>
 8 <s:bean name="wck.stu.action.TestJavabean" id="s">
 9 </s:bean>
10 <%
11 String path = request.getContextPath();
12 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
13 %>
14 <script type="text/javascript" src="<%=path%>/js/data.js"></script>
15 <script type="text/javascript">
22 var countrylist = new Array();
23 countrylist = '<s:property value="#s.list"/>'.replace('[','').replace(']','').split(',');
24 function validation() {
25     var index = "";
26     for ( var i = 0; i < countrylist.length; i++) {
27         if(countrylist[i]==document.getElementById("nameId").value) {
28             index="success";
29         }
30     }
31     if(index=="") {
32         alert("用户名不存在!");
33     }else {
34         document.getElementById("formId").action=testStrutsLabel/testOne.action;
35         document.getElementById("formId").submit;
36     }
37 }
38 </script>
39 </head>
40 <body>
41     <s:form id="formId">
42         <s:combobox list="#{'2':'aa','3':'bb'}" label="测试选择" name="testChoose" headerValue="--请选择--" headerKey="1" readonly="false"/><br>
44         <s:doubleselect doubleList="top=='颜色'?{'红色','黄色','蓝色'}:{'苹果','香蕉','梨'}" list="{'颜色','水果'}" doubleName="第二选项" label="第一选项" headerValue="--请选择--" headerKey="1"/>
45         <s:radio list="{'男','女'}" label="性别" name="sex"></s:radio><br>
48         <s:actionerror/>
49         <s:actionmessage/>
50         <s:textfield name="name" id="nameId" label="用户名"></s:textfield>
51         <s:submit type="button" label="提交" onclick="validation()"></s:submit>
52         </s:form>
53         <s:property value="#s.age"/>
54         <s:property value="#s.list"/>
55     </body>
56 </html>

 

推荐阅读