Struts2 登陆验证、国际化显示Demo

来源:互联网 发布:安全联盟软件 编辑:程序博客网 时间:2024/05/16 15:22

项目结构如下如

一、引入struts2框架所需jar包

二、在web.xml中配置过滤器作用范围

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><!--定义拦截器,名称为struts2  --><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><!--定义struts2拦截器的作用范围  --><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping></web-app>

三、在\WEB-INF\classes即项目中的src根目录下,配置struts.xml,如下图,并建立国际化所需文件(test_zh_CN.properties等)

<?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="strutsqs" extends="struts-default"><action name="Login" class="com.gicasoft.action.LoginAction"><result name="success">/welcome.jsp</result><!-- 成功页面 --><result name="error">/error.jsp</result><!-- 错误页面 --><result name="login">/login.jsp</result><!-- 登陆页面 --><result name="input">/login.jsp</result><!-- 验证错误所跳回的页面 --></action></package><!-- 国家化信息配置 ,test为国际化文件的基础名字,国际化文件的名字为:基础名_zh_CN--><constant name="struts.custom.i18n.resources" value="test"></constant></struts>

四、创建登陆页面login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@ taglib prefix="s" uri="/struts-tags"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head></head><body><form action="${pageContext.request.contextPath }/Login.action"method="post"><table><tr><td><s:textfield name="username" key="username"cssErrorStyle="background-color:#ff9999"></s:textfield></td></tr><tr><td><s:password name="password" key="password"cssErrorStyle="background-color:#ff9999"></s:password></td></tr><tr><td><s:submit align="center" key="login"></s:submit></td></tr></table></form></body></html>

五、创建action方法

package com.gicasoft.action;import com.opensymphony.xwork2.ActionSupport;/*** * 普通类继承ActionSupport方法,实现信息验证 * @author Administrator * */public class LoginAction extends ActionSupport {private String username;//登陆页面提交的usernameprivate String password;//登陆页面提交的passwordpublic 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;}@Overridepublic String execute() throws Exception {if (getUsername().equals("malei") && getPassword().equals("123")) {//登陆成功return "success";} else {return "input";}}@Overridepublic void validate() {//验证页面提交信息,先于execute执行。//如果有错误直接返回struts.xml中action定义的input所对应的页面if (getUsername().equals("") || getUsername() == null) {//username页面参数,username.required国际化所对应的值addFieldError("username", getText("username.required"));}if (getPassword().equals("") || getPassword() == null) {//password页面参数,password.required国际化所对应的值addFieldError("password", getText("password.required"));}}}


0 0
原创粉丝点击