struts1.3-其他

框架
面向请求驱动:
struts1.x,struts2.x,WebWork
面向事件驱动的(JSF)
--------------------------------------
struts空字段测试
<input type="text" name="username"\>
ActionForm中有:
private String username;
private String password;
页面取得值:
<%=form.getUserName()%>//结果:
<%=form.getPassWord()%>//结果:null
${requestScope.userActionForm.username}//结果:
${requestScope.userActionForm.password}//结果:
----------------------------------------------------
java国际化
1 了解缺省Locale是由操作系统决定的,Locale是由语言和国家代码组成
2 国际化资源文件是由baseName+locale组成,一般在src目录下就可以了,如:MessageBundle_en_US.properties
baseName是任意合法的文件名
3 native2ascii命令的位置和用法
  * 位置:java_home/bin
  * 使用native2ascii.exe o.properties MessagesBundle_zh_CN.properties
  * DOS
    D:\>native2ascii -encoding gb2312 aaa.txt bbb.txt
------------------------------------------------------------------
struts国际化
1 在struts-config.xml文件中加入:<message-resources parameter="MessageResources"/>
  注意:文件默认放在根src下,如入在其他目录下.
  如:res目录下用"."连接<message-resources parameter="res.MessageResources"/>
2 提供不同版本的国际化文件,中文需要采用native2ascii转换成unicode
MessageResources_en_US.properties文件
user.login.success={0},Login Success
user.title=User Login
user.name=User Name
user.password=Password
user.button.login=Login
MessageResources_zh_CN.properties文件
user.login.success={0},\u767b\u5f55\u6210\u529f
user.title=\u7528\u6237\u767b\u5f55
user.name=\u7528\u6237\
user.password=\u5bc6\u7801
user.button.login=\u767b\u5f55
3 在jsp中采用<bean:message>标签读取国际化文本
<titel><bean:message key="user.title"/></title>
<bean:message key="user.name"/>:<input type="text" name="username"/>
<bean:message key="user.password"/>:<input type="password" name="password"/>
<input type="submit" value="<bean:message key="user.name"/>"/>
4 动态设置locale
Locale currentLocale=Locale.getDefalut();得到Locale
currentLocale=new Loale("zh","CN");//建立Locale
currentLocale=new Loale("en","US");//建立Locale
request.getSession().setAttribute(Globals.LOCALE_KEY,currentLocale);
this.setLocale(request,currentLocale);//效果同上
5 动态设置message
  * 创建messages集合
  ActionMessages messages=new ActionMessages();
  * 创建国际化消息文本
 public ActionMessage(String key,Object value)
 ActionMessage message=new ActionMessage("user.login.success",username);//只不清一个参数
 //ActionMessage message=new ActionMessage("user.login.success",new Object[]{username});//多个参数
 messages.add("loginSuccess1",message);
 * 传递国际化消息文本
 this.saveMessages(request,messages);
 错误信息传递使用:this.saveErrors(request,messages);
 * 页面输出
 通过<html:message>标签显示消息(可以显示普通消息和错误消息)
 通过<html:errors>标签显示消息(只能显示错误消息)
 <html:messages id="msg" message="true">//html:messages标记与ActionMessages messages集合对应
  <bean:write name="msg"/>
 <html:messages>
 <html:messages id="msg" message="true" property="loginSuccess1">
  <bean:write name="msg"/>
 <html:messages>
-------------------------------------------------------------------
JSTL国际化
<fmt:setLocale vlaue="${header['accept-language']}"/>设置locale
<fmt:setBundle basename="res.MessageResources"/>//设置资源文件
<fmt:message key="user.username"/>
---------------------------------------------------------------------
struts的路径与模式匹配

你可能感兴趣的:(html,bean,struts,JSF,Webwork)