Struts2 input

来源:互联网 发布:数据库安全管理规定 编辑:程序博客网 时间:2024/06/05 01:20

经常用在输入参数类别不对,还有就是在校验的时候会用到

java类

package cn.hb.si;import cn.hb.po.User;import com.opensymphony.xwork2.ActionSupport;import com.opensymphony.xwork2.ModelDriven;public class LoginAction extends ActionSupport implements ModelDriven<User> {private User user = new User();public String login() {// 方法一//if (null == user.getUserName() || "".equals(user.getUserName())) {//this.addFieldError("userName", "用户名不能为空");//return INPUT;//}System.out.println(user.getUserName());System.out.println(user.getBookList().get(0).getUserName());System.out.println(user.getBookList().get(1).getUserName());return SUCCESS;}@Overridepublic User getModel() {// TODO Auto-generated method stubreturn user;}// 方法二@Overridepublic void validate() {if (null == user.getUserName() || "".equals(user.getUserName())) {this.addFieldError("userName", "用户名不能为空");}}}

package cn.hb.po;import java.util.List;public class User {private String userName;private String passWord;// private List<String>bookList;private List<User> bookList;private int age;public int getAge() {return age;}public void setAge(int age) {this.age = age;}public List<User> getBookList() {return bookList;}public void setBookList(List<User> bookList) {this.bookList = bookList;}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;}}

login.jsp   这里是用了一个struts标签错误提醒的

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";%><%@ taglib prefix="s" uri="/struts-tags" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'login.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><form action="LoginAction.action" method="post">用户名:<input type="text" name="userName"><br><s:fielderror name="userName"></s:fielderror>密码: <input  type="password" name="passWord"><br><!-- 书籍:<input type="text" name="bookList[0]"><br> 书籍:<input type="text" name="bookList[1]"><br>  -->书籍:<input type="text" name="bookList[0].userName"><br> 书籍:<input type="text" name="bookList[1].userName"><br> 年龄:<input type="text" name="age"><br>  <input type="submit" value="提交"></form></body></html>
struts.xml

<?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><!-- 引入其他的配置文件 可以添加多个,也可以添加包名--><include file="hello.xml"></include><!-- 配置编码方式 --><constant name="struts.i18n.encoding" value="UTF-8"></constant></struts>

web.xml

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">  <filter>    <filter-name>struts</filter-name>    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  <!--  配置后缀  <init-param>   <param-name>struts.action.extension</param-name>   <param-value>do</param-value>   </init-param>   -->  </filter>  <filter-mapping>    <filter-name>struts</filter-name>    <url-pattern>/*</url-pattern>  </filter-mapping></web-app>

hello.xml

<?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><package name="default" namespace="/" extends="struts-default"><default-action-ref name="index"></default-action-ref><action name="index" ><result>/error.jsp</result></action><action name="*_*_*" method="{2}" class="cn.hb.{3}.{1}Action"> <result>/result.jsp</result><result name="add">/{2}.jsp</result><result name="update">/{2}.jsp</result></action><action name="LoginAction" method="login" class="cn.hb.si.LoginAction"> <result>/success.jsp</result> <result name="input">/login.jsp</result></action></package></struts>

访问地址:http://localhost:8080/Struts2_1zixue/LoginAction.action

访问成功截图:

方法一中,需要注意:添加return语句 否则不能成功

在jsp页面中需要添加标签

0 0