1、新建一个web工程Demo02,添加struts2支持
2、在index.jsp页面中写一个form表单:(超链接转换中英文时,需要在action之间进行切换)
<body>
<center>
<s:form action="login" method="post">
<s:text name="user.login"></s:text>
<s:textfield name="user.username" key="username"></s:textfield>
<s:textfield name="user.password" key="password"></s:textfield>
<s:submit key="login" align="center"></s:submit>
</s:form>
<a href="switch.action?request_locale=zh_CN">中文</a>
<a href="switch.action?request_locale=en">English</a>
</center>
</body>
3、配置struts.xml文件(需要配置i18n国际化的参数(struts.custom.i18n.resources)的值)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.custom.i18n.resources" value="message"></constant>
<package name="login" extends="struts-default" namespace="/">
<action name="login" class="com.hnpi.action.LoginAction" method="login">
<result>/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
<action name="switch" class="com.hnpi.action.SwitchAction">
<result>/index.jsp</result>
</action>
</package>
</struts>
4、在src下新建com.hnpi.vo,新建User.java类:
package com.hnpi.vo;
public class User {
private String username;
private String password;
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;
}
}
5、在src下新建com.hnpi.action,新建LoginAction.java类:
package com.hnpi.action;
import com.hnpi.vo.User;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private static final long serialVersionUID = 5282197184219501014L;
private User user;
public String login(){
if(user.getUsername().equals("zoey")){
System.out.println(getText("login.success"));
return Action.SUCCESS;
}
System.out.println(getText("login.error"));
return Action.ERROR;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
6、在com.hnpi.action下新建SwitchAction.java类:(什么都不做,只是返回success,跳转到index.jsp页面)
package com.hnpi.action;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;
public class SwitchAction extends ActionSupport {
private static final long serialVersionUID = 3791113563988999604L;
@Override
public String execute() throws Exception {
return Action.SUCCESS;
}
}
7、在src下新建message_zh_CN.properties和message_en.properties文件
8、编写success.jsp页面和error.jsp页面
<body>
<s:text name="login.success" />
</body>
<body>
<s:text name="login.error" />
</body>