struts国际化实例(中英文切换)

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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值