java struts2国际化代码下载_Struts2国际化——完整实例代码

一、介绍

国际化Internationalization的首末字符I和N之间字符数是18,简称I18N

“国际化”是指一个应用程序在运行时,能够根据客户端请求所来自国家或地区语言的不同,而显示不同的语言界面。

比如:你的电脑是中文操作系统,这个应用程序的界面使用中文文字;客户端是英文操作系统,就显示英文界面。

国际化资源文件,后缀以properties作为扩展名,该文件以“键=值”(key=value)对的形式存储资源数据

二、命名格式:

1、资源文件名.properties

2、资源文件名_语言种类.properties

三、编码

在国际化时,所有的字符都要使用标准的编码方式,需要把中文字符转换为Unicode代码。

中文资源文件不能直接使用,必须转换为Unicode代码

Eclipse中,在globalMessages_zh_CN.properties文件中,在等式右边输入中文,自动转换为Unicode编码方式,如图所示:

0881263f0b51964a6a7453a194015bba.png

三、应用实例

登陆时调用中文资源文件如下:

064debda1df58eb80e031d4dd2f43d74.png

IE浏览器将英文[en-US]上移到顶部,如下:

16c99d50dd78844f2f8030f74694a1b2.png

重新打开浏览器登陆页面,此时调用英文资源文件,如下

46a018c049f35a075b68568c258589b1.png

Eclipse中实例目录结构,如下:

c535a152006e8ad3067f5c7354560d6d.png

1、编写国际化资源文件,将这两个文件放在和struts.xml同一个目录

中文文件:globalMessages_zh_CN.properties

0881263f0b51964a6a7453a194015bba.png

英文文件:globalMessages_en_US.properties

96ab30eb4db8ebe9da0bce04d503cb5b.png

2、web.xml

struts2

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

struts2

/*

3、编写视图组件

(1)login.jsp

(2)loginSuccess.jsp


:

:

4、编写业务控制器

LoginAction1.java

packageloginAction;importcom.opensymphony.xwork2.ActionContext;importcom.opensymphony.xwork2.ActionSupport;public class LoginAction1 extendsActionSupport{privateString name;privateString password;//用于定义标题信息

privateString tip;publicString getName() {returnname;

}public voidsetName(String name) {this.name =name;

}publicString getPassword() {returnpassword;

}public voidsetPassword(String password) {this.password =password;

}publicString getTip() {returntip;

}public voidsetTip(String tip) {this.tip =tip;

}public String execute() throwsException{if(getName().equals("QQ")&&getPassword().equals("123")){

ActionContext.getContext().getSession().put("name", getName());returnSUCCESS;

}else{returnERROR;

}

}

}

5、在struts.xml中配置Action和国际资源文件

/p>

"http://struts.apache.org/dtds/struts-2.3.dtd">

/I18N/loginSuccess.jsp

/I18N/login.jsp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基于 Struts2 和 Hibernate 的登录和注册的完整实例。 首先,需要创建一个名为 `User` 的 JavaBean 类,用于表示用户信息: ```java public class User { private int id; private String username; private String password; // getters and setters } ``` 接下来,需要配置 Hibernate 的 `SessionFactory`,以便在操作数据库时使用。可以在 `hibernate.cfg.xml` 文件中进行配置: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="connection.url">jdbc:mysql://localhost:3306/test?useSSL=false</property> <property name="connection.username">root</property> <property name="connection.password">root</property> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="show_sql">true</property> <mapping class="com.example.User"/> </session-factory> </hibernate-configuration> ``` 接着,需要创建一个名为 `UserDao` 的类,用于操作数据库。在该类中,需要使用 Hibernate 的 API 进行增删改查操作: ```java public class UserDao { private SessionFactory sessionFactory; public UserDao() { Configuration configuration = new Configuration().configure(); sessionFactory = configuration.buildSessionFactory(); } public void addUser(User user) { Session session = sessionFactory.openSession(); Transaction tx = null; try { tx = session.beginTransaction(); session.save(user); tx.commit(); } catch (HibernateException e) { if (tx != null) { tx.rollback(); } e.printStackTrace(); } finally { session.close(); } } public User getUserByUsername(String username) { Session session = sessionFactory.openSession(); Transaction tx = null; User user = null; try { tx = session.beginTransaction(); Query query = session.createQuery("from User where username = :username"); query.setString("username", username); user = (User) query.uniqueResult(); tx.commit(); } catch (HibernateException e) { if (tx != null) { tx.rollback(); } e.printStackTrace(); } finally { session.close(); } return user; } } ``` 然后,需要创建一个名为 `UserAction` 的类,用于处理用户登录和注册的请求。在该类中,需要使用 Struts2 的 API 进行请求处理: ```java public class UserAction extends ActionSupport { private User user; private String confirmPassword; private UserDao userDao = new UserDao(); public String login() { User savedUser = userDao.getUserByUsername(user.getUsername()); if (savedUser == null || !savedUser.getPassword().equals(user.getPassword())) { addActionError("Invalid username or password!"); return INPUT; } return SUCCESS; } public String register() { if (!user.getPassword().equals(confirmPassword)) { addActionError("Passwords don't match!"); return INPUT; } User savedUser = userDao.getUserByUsername(user.getUsername()); if (savedUser != null) { addActionError("Username already exists!"); return INPUT; } userDao.addUser(user); return SUCCESS; } // getters and setters } ``` 最后,需要在 `struts.xml` 文件中进行配置,以便 Struts2 能够正确地处理请求: ```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> <constant name="struts.devMode" value="true"/> <package name="default" extends="struts-default"> <action name="login" class="com.example.UserAction" method="login"> <result name="success">/success.jsp</result> <result name="input">/login.jsp</result> </action> <action name="register" class="com.example.UserAction" method="register"> <result name="success">/success.jsp</result> <result name="input">/register.jsp</result> </action> </package> </struts> ``` 其中,`success.jsp` 是登录或注册成功后显示的页面,`login.jsp` 和 `register.jsp` 分别是登录和注册的页面。 这样,基于 Struts2 和 Hibernate 的登录和注册功能的完整实例就完成了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值