本篇文章给大家谈谈struts2国际化数据库,以及stn数据库对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、struts2国际化
- 2、struts2的拦截器中怎样取国际化信息?
- 3、java后端技术有哪些
- 4、struts2国际化问题
- 5、struts2 国际化 、实现切换语言问题
- 6、struts2国际化在js里面怎么使用
struts2国际化
globalMessages_en.properties,好像是globalMessages_en_US.properties
globalMessages_zh.properties,敏肢好像桥缓世哪州是globalMessages_zh_CN.properties
另外用那标签写得有些乱哦。
struts2的拦截器中怎样取国际化信息?
Struts2怎样取自己配置的国际化信息:
1.配置.properties文件,假如有MessageAction_zh_CN.properties中文配置信息,MessageAction_en_US.properties英文配置信息。
2.配置 struts.xml,在里面只需要保证你请求的Action继承ActionSupport就可以了。
3.在页面用struts2的标签库:s:text name="info"/,info是你在properties里面的配置的并缺键,
使用该标签就可以输出相对应配置文件里面的值了。当然,到底输出什么语言,就取决于你此蔽衫浏览器的编码了,他会安装你浏览器的编码去自动配置。森腔Struts2里面的国际化配置的过程就这样。
java后端技术有哪些
看下Java课程的大纲:
一、JavaSE基础
1.1、J2SE
JAVA 开发基础知识 | Eclipse 开发环境 | J2SE 5.0 API | J2SE 8.0新特性 | 多线程技术 | Socket 网络技术
|
Regular Expression | Java反射技术 | Properties技术 | 各种实战设计模式| Java Debug技术 |
面向对象设
计原则详解 | 实例解决面向对象设计 | 面试题内部详解 | 面试答题技巧详解 | AWT/SWING技术
1.2、实战数据结构
数据结构实战训练 | 数组、链表等常用数据结构实战
1.3、正则表达式
正则表达式基本语法。预搜索、断言、分组。 JAVA操作正则表达式Matcher/Pattern
1.4、反射机制
JAVA的动态性、Reflection技术、JVM类加载器、Class对象、Method等。
1.5、CHAT项目
Chat项目通过完成一个模拟的在线聊天系统,主要锻炼大家对于TCP/IP、Socket编程、C/S模式的编程、线程的运用等方面的能力。
1.6、坦克大战单机版/图片版/网络版
这吵坦三个升掘桐项目通过大家喜闻乐见的小游戏的形式来锻炼大家对于JavaSE综合运用的能力,并且能够初步运用面向对象的编程理念,锻炼初步的设计能力,并基本掌握多线程的编程。
二、Java Web开发
2.1、数据库技术
Oracle 基础管理;SQL 语言PL/SQL
语言;触发器、存储过程;MySQL,SQLServer简介;业界常见问题设计;数据库表的设计范式;数据备份与移植;多表连接难题详解;嵌入式数据库应用散森;
2.2、JDBC技术
JDBC基础; 连接池技术;使用设计模式开发连接池;详细扩展与测试池效率;
2.3、HTML4 CSS JavaScript
HTML 语言;CSS 语言; JavaScript 语言;JS常用模版;后台管理模版; DOM; JS操作CSS; JS操作DOM;
ECMAScript; JS操作DIV;protoype;js基于对象编程; ;Firefox和firebug调试技术;
2.4、Bootstrap
前端css框架,让我们的学生不会美工也能做出漂亮的页面;
2.5、Jquery
Jquery基本技术;Jquery使用插件;
2.6、Http协议深入
使用HttpWatcher深入理解协议内部机制;
2.7、JSTL标签库
JSTL核心标签库,JSTL函数标签库、JSTL格式化标签库,JSTL之XML解析标签库、自定义标签技术;
2.8、JSP Servlet
Servlet 技术;JSP 技术; JSTL Tag Library 技术; FilterListener技术; 报表系统;
FileUploading; Tomcat 服务器技术;servlet 过滤器和AOP编程;servlet监听器;
2.9、SCM技术
CVS初步;SVN简介;
2.10、Java Web实战演练
综合运用所学知识; HTML + CSS + JS; JSP + Servlet + JavaBean; FileUploading; 分页技术;
数据校验; MVC初步; Filter; Listener;
2.11、XML 技术
XML + XSL + DTD/Schema;XML数据解析; XML应用详解;XQUERY技术;CAST技术(XML数据和对象互转);
2.12、AJAX技术
AJAX技术基础; AJAX技术框架; AJAX技术调试技巧;
2.13、项目实战
《基于servlet/JSP技术的电子商务网站》、《基于AJax和Jquery的BBS神龙 系统》、《基于Apache Commons
FileUpload的网络硬盘系统》
三、主流框架技术及项目实战
3.1、流行Web 框架简介
Struts2/spring4.x/hibernate4.x/spring mvc / WebWork /mybatis等简介
3.2、MVC 模式
Model View Controller 模式深入
3.3、SpringMVC
springmvc概述; springmvc的开发流程;springmvc基本配置; springmvc的注解开发; 常用注解;
service,control,reposity,reques+mapping,responseboby等
3.4、Struts2.x
Struts2的基本开发流程;action类的三种实现方法; XML配置的几种方法; Struts2国际化支持; Struts2异常处理;
Struts2的验证框架; Struts2的多模块配置;拦截器;
3.5、Hibernate4.x
Hibernate基本开发流程; ORM简介; 模拟SQL语句的自动生成; hibernate的检索; 性能优化 一级缓存 二级缓存 查询缓存 事务与并发
悲观锁、乐观锁
3.6、Spring4.x
简单工厂模式 ;抽象工厂; 工厂方法模式; Spring3简介; Spring的基本开发流程; IOC、DI; Bean的配置;
SSH框架的整合;Spring的注解开发; Spring AOP开发 代理模式 静态代理、动态代理、CGLIB;
3.7、Mybatis
Mybatis简介; Mybatis的开发流程; 配置文件 ;映射文件; 面向接口的Mybatis开发;
3.8、手工编写实战开发 struts2.x框架
亲自动手开发struts2.x框架,融入设计模式,让大家的对struts的核心机制烂熟于胸!
3.9、手工编写实战开发 Hibernate4.x框架
芯学苑名师亲自带领你开发hibernate框架,让你真正将ORM框架理解透彻!
3.10、手工编写实战开发mybatis框架
完成另一个ORM框架mybatis的开发工作!
3.11、手工编写实战开发 Spring 4.x框架
Spring是最著名的框架之一!也是业界应用范围非常广泛的框架!是否对其核心机制有透彻了解,往往是高薪的关键!因此,芯学苑名师带领你完成spring框架核心机制的开发。当别人还在探讨如何使用spring时,你已经更上层楼!
3.12、项目实战
《基于struts2+spring+mybatis的电子政务系统》、《基于spring MVC+hibernate的在线考试系统》
struts2国际化问题
国际化无非是一绝御嫌些 非动态的数据国际化,比如说 注册页并手面的 用户名,密码什么的。我就大概说一下逻辑,国际化需要 国际化的属性文件
比如 : jsp_message_zh.properties 和 jsp_message_en.properties
这两个文件中分别有 中文的 用户拆侍名和英文的 username
首先他们的key必须是一样的。当点击页面连接的时候将你点中的语言种类传到后台,后台根据语言种类,可以自己写一个 国际化的Util类
里边封装一个 ResourceBoulde对象,这个对象代表的就是你当前使用的属性文件。根据语言切换当前的国际化属性文件,这时候返回前端页面的时候jsp调用 这个Util对象的静态取值方法获取真实的文字
jsp 页面调用的时候 大概就是这个样子 :
%=I18nMessageJsp.getInstance().getJSPMessage("DETAIL.nettransfer") %
希望能解决您的问题。
struts2 国际化 、实现切换语言问题
Struts2 国际化中文实现
Step1:启镇肆悔用国际化
Method1: 在src下面新建一个struts.properties,加入里面的内容为struts.custom.i18n.resources=messagesource (messagesource为国际雹并化文件的basename,以此为前缀)
Method2:在struts.xml里面添加constant name="struts.custom.i18n.resources" value="messagesource"/constant
Step2:创建国际化资源文件
在src下面新建一个messagesource_zh_CN.properties,其中messagesource是第一步中自定义的basename名称,加入里面的内容为您自己想要的内容,如:
user=用户名
pass=密码
step3:编码资源文件
copy一份该资源文件到jdk根目御正录下,重命名为messagesource.propertis;
在dos窗口中输入指令 :native2ascii -encoding UTF-8 messagesource.propertis messagesource_zh_CN.propertis
将新生成的文件copy到src目录下,选择覆盖。
好的话,就给我个最满意的答案,谢谢
struts2国际化在js里面怎么使用
一、struts2国际化比较简单,过程如下:
1. 建立资源文件
中文资源:language_zh_CN.properties (language-自定义名称,zh-中文,CN-中国)
英文资源:language_en_US.properties (language保持一致,en-英文,US-美国)
其内容就是键值对,俩资源文件的键名对应保持一致,值分别对应中文与英文
其中中文在MyEclipse环境下,用Properties进行编辑,直接输入中文
如:password 密码
那么从Source看时,就可看到中文是用Unicode表示的
如:password=\u5BC6\u7801
2. 配置
struts.xml文件中,配置i18n的源,值取资源文件的自定义名称部分(如果资源文件不是在src下,记得加上包路径):
constant name="struts.custom.i18n.resources" value="language"/constant
web.xml文件中,配置Struts2:
filter
filter-namestruts2/filter-name
filter-classorg.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter/filter-class
/filter
filter-mapping
filter-namestruts2/filter-name
url-pattern/*/url-pattern
/filter-mapping
3. jsp中使用资源
加入标签引用:%@ taglib prefix="s" uri="/struts-tags" %
s:text标签用健名取资源值:s:text name="password"/
或者表单元素用:key="password"
4. 在action中使用资源
用ActionSupport类中的方法取资源值:getText("password");
二、js中要获取以上的资源值,就比较麻烦了
单独建立一套资源的话,就需要维护两套资源,重复且维护麻烦
1. js中使用量较缺册少时,可在jsp页面中定义变量先取出资源值
用js代码如:var curPassword='s:text name="password"/';
或:var curLang = {
password : 's:text name="password"/',
user : 's:text name="森答user"/'
}
那单独的js文件中就可直接使用了
2. 另外想到的是从Java资源中全部取出,在js中再建立一个语言的对象
struts国际化,是建立在java国际化之上,做了一次封装
java国际化,用到的有两个类:Locale、ResourceBundle
Locale是语言类,选定当前的语言与地域,如:Locale locale = new Locale("zh","CN");
ResourceBundle是资源类,加载的是资源
如:ResourceBundle bundle = new ResourceBundle.getBundle("language",locale);
有个方法可取键值:bundle.getString("password");
找到一个方法可取全部键名:SetString keys=bundle.keySet();
好,再看Struts2中如何取ResourceBundle对象:
ActionSupport类中方法:ResourceBundle bundle=getTexts("langauge");
Action中添加方法:
protected String getCurLang(String resourceName){
ResourceBundle bundle=getTexts(resourceName);
if(null != bundle){
Set伏春宏String keys=bundle.keySet();
IteratorString it = keys.iterator();
StringBuffer curLang = new StringBuffer();
curLang.append("{");
int id=0;
String key;
while(it.hasNext()){
key=it.next();
if(id0){
curLang.append(",");
}
curLang.append(key);
curLang.append(":\'");
curLang.append(getText(key));
curLang.append("\'");
id++;
}
curLang.append("}");
return curLang.toString();
}
return "";
}
然后放入session中:session.setAttribute("curLang",getCurLang("langauge"));
或前台调用Ajex通讯取得
最后,前台把它转为对象,如:
var strvar curLang="%=session.getAttribute("curLang")%";
那么js文件中就可直接使用了:curLang["password"];