天下之事,必先处之难,而后易之。
君临
知我者谓我心忧,不知我者谓我何求

一、struts2对Ajax的支持

1、Dojo框架的使用步骤:

(1)导入Struts2-dojo-plugin-2.1.x.x.jar于WEB-INF在lib目录下

(2)导入Ajax的jsp页面标签库<%@ tablib prefix="sx" uri="struts-dojo-tags"%>

(3)导入CSS样式和JS的集成应用类库<sx:head />

2、Ajax常用的标签:

 <sx:div>通过Ajax向其中添加内容,以实现局部刷新。

 <sx:a> 通过Ajax更新某个元素的内容或提交表单。

 <sx:submit> 通过Ajax更新某个元素的内容或提交表单。

 <sx:tabbedPanel >创建一个标签页面,由<sx:div>提供内容。

 <sx:autocompleter>根据用户的输入建议,或者帮助用户自动完成输入。

<sx:tree>创建一个支持Ajax的树形组件(Widget)。

3、常用标签的一些属性:

(1)<sx:div> :href(异步请求资源的地址) 、cssClass(div的css属性)、fromId(表单Id,序列化作为参数传递)

indicator(请求时显示具有此id 的元素)、loadText(请求处理时的显示文本)、errorText(请求失败时的显示文本)

executeScript(执行服务器返回的JavaScript代码,默认为false)。

(2)<sx:submit>/<sx:a>:同上、targets(被更新的元素列表,以逗号分隔)。

4、文本输入验证示例:

(1)、编写一个UserAction

package com.accp.validator.action;

import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
public class UserAction extends ActionSupport {
 private String name;
 
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public String reg() throws Exception{
  
  return SUCCESS;
 }

}

(2)、在actin目录下编写一个名叫UserAction-validation.xml的XML文件

<?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE validators PUBLIC
    "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
    "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">   

<validators>
    <!-- 对哪一个属性字段实施验证 -->
 <field name="name">
  <!-- 定义验证规则 -->
  <field-validator type="stringlength">
   <param name="trim">true</param>
   <param name="minLength">6</param>
   <param name="maxLength">12</param>
   <message>用户服名的长度必须在${minLength}和${maxLength}</message>
  </field-validator>
 </field>
 
</validators>

(3)、在src目录下的struts.xml文件中配置:

<?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>
 <package name="default" extends="struts-default">
  <action name="user" class="com.accp.validator.action.UserAction">
   <result name="input">/index.jsp</result>
   <result name="success">/suc.jsp</result>
  </action>
 </package>
</struts>

(4)、JSP简易代码:

..................................

<s:form action="user!reg.action" method="post">
     <s:textfield name="name"></s:textfield>
     <s:submit></s:submit>
 </s:form>

...............

二、Struts2实现国际化

1、国际化(internationalization:l18N):根据用户所在地区的信息显示相应的文字类型。

2、本地化(Location:L10N):  根据本机的语言和地区显示设置显示相应的字符。

3、不同地区所对应的(国际化)资源文件:

ApplicationResources_en.properties---------------适用于所有英文语言的资源。

ApplicationResources_en_US.properties-----------针对美国的、英文语言的资源。

ApplicationResources_zh.properties---------------所有中文语言的资源。

ApplicationResources_zh_CN.properties-----------中国大陆、中文语言的资源。

 

ApplicationResources_zh_HK.properties-----------中国香港、中文语言的资源。

 

ApplicationResources.properties-------------------默认资源文件。

 

常用---ISO-639语言代码有:zh(汉语)、en(英语)、fr(法语)、de(德语)等。

 

常用---ISO-3166保准的国家和地区码有:CN(中国大陆)、US(美国)、GB(英国)、TW(中国台湾)、HK(中国香港)等。

4、在struts2中的实现步骤:

(1)在struts.xml文件中指定文件的基名及存储路径:

示例:<struts>

         <constant name="struts.custom.i18n.resources" value="message"/>

         <constant name="struts.custom.encoding" value="UTF-8"/>

  </struts>(基名:message;编码:UTF-8)

(2)、请求创建三个资源文件于src目录下,依次为:message_en.properties、message_zh_HK.properties,message.properties来存放对应的资源。

示例:

message_en.properties

    register.page=House-User Register

    register.title=new User register

    name=Name

    password=Password......

message_zh_HK.properties

   register.page=用户注册页面

   register.title=新用户注册

   name=用户名.....

message.properties

  (同上.....)

(3)、实现JSP页面信息的国际化显示。

示例:<s:password name="user.password" label="%{getText('password')}">

 

posted on 2011-07-23 18:13  boonya  阅读(440)  评论(0编辑  收藏  举报

我有佳人隔窗而居,今有伊人明月之畔。
轻歌柔情冰壶之浣,涓涓清流梦入云端。
美人如娇温雅悠婉,目遇赏阅适而自欣。
百草层叠疏而有致,此情此思怀彼佳人。
念所思之唯心叩之,踽踽彳亍寤寐思之。
行云如风逝而复归,佳人一去莫知可回?
深闺冷瘦独自徘徊,处处明灯影还如只。
推窗见月疑是归人,阑珊灯火托手思忖。
庐居闲客而好品茗,斟茶徐徐漫漫生烟。

我有佳人在水之畔,瓮载渔舟浣纱归还。
明月相照月色还低,浅近芦苇深深如钿。
庐山秋月如美人衣,画堂春阁香气靡靡。
秋意幽笃残粉摇曳,轻轻如诉画中蝴蝶。
泾水潺潺取尔浇园,暮色黄昏如沐佳人。
青丝撩弄长裙翩翩,彩蝶飞舞执子手腕。
香带丝缕缓缓在肩,柔美体肤寸寸爱怜。
如水之殇美玉成欢,我有佳人清新如兰。
伊人在水我在一边,远远相望不可亵玩。