??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲成av人片在线观看无码,超碰成人在线观看,成人免费视频观看视频http://www.aygfsteel.com/keweibo/category/25192.htmlAs long as you are there to lead me ,I won't lose my way zh-cnTue, 15 Jan 2008 15:50:32 GMTTue, 15 Jan 2008 15:50:32 GMT60WebWork/struts2中格式化输出数字和日期的Ҏhttp://www.aygfsteel.com/keweibo/articles/174997.htmlKEKESun, 13 Jan 2008 09:46:00 GMThttp://www.aygfsteel.com/keweibo/articles/174997.htmlhttp://www.aygfsteel.com/keweibo/comments/174997.htmlhttp://www.aygfsteel.com/keweibo/articles/174997.html#Feedback0http://www.aygfsteel.com/keweibo/comments/commentRss/174997.htmlhttp://www.aygfsteel.com/keweibo/services/trackbacks/174997.html?  http://www.aygfsteel.com/aoxj/archive/2006/08/14/63461.html
前言Q大概在d6月的时候,我们团队开始用webwork来替代strutsQ刚开始大安没有l验Qؓ了格式化输出旉和数字,惛_了很多现在看来笨W的d的方法。后来俺扑ֈ了这个方法,试验了一下之后发了下面这个emaill了team member, 今天一位同事问赯个问题,ZC千计的已发送邮件中扑ֈ了这个东西,x军_整理出来。给大家分n一下,Zl我自己做个备䆾Q呵呵,后者基本上是俺写blog的一个重要用途?br />
    分n一个在WebWork中如何格式化昄数字和日期的ҎQ?


具体的做法这里有详细的说明:
http://wiki.opensymphony.com/display/WW1/How+to+format+dates+and+numbers?showComments=true


   下面是项目中推荐使用的时间格?
#format
global.format.date={0,date,yyyy-MM-dd}
global.format.time={0,date,HH:mm:ss}
global.format.datetime={0,date,yyyy-MM-dd HH:mm:ss}

注意的是如果使用Carlender来保存时?因ؓ上面要求传入的是Data对象Q因此需要用Carlender.getTime()Ҏ
从Carlender中获取Date:

<ww:text name="'global.format.date'">
    <ww:param value="'birthday.time()'"/>
</ww:text>

q里使用的是<ww:param/>标签来传递参敎ͼ虽然也可以?<ww:text name="'format.date'" value0= "'birthday.time()'"/>
但是后面的这个方法在webwork的新版本中已l被要求不要使用Q大家还是尽量?<ww:param/>标签

用value0属性的说明Q?br /> 大家可以扑ֈtext标签的源代码,在com.opensymphony.webwork.views.jsp.ui.TextTag中:
public void setValue0(String aName) {
        LOG.warn("The value attributes of TextTag are deprecated.");
        value1Attr = aName;
    }

 


对于数字的格式化Q这里有两个参考:
global.format.percent = {0,number,##0.00'%'}
global.format.money = {0,number,$##0.00}

考虑目前在项目中使用最多的是显C附件大?定义以下格式:
global.format.size.k={0,number,##0.00'K'}
global.format.size.m={0,number,##0.00'M'}
global.format.size.g={0,number,##0.00'G'}

如action有方?br /> public long getFilesize();  q回的大是以byte为单位,在显C时通常是以k或M昄
则显C时:
<ww:text name="'global.format.size.k'">
    <ww:param value="filesize/1024"/>
</ww:text>
<ww:text name="'global.format.size.m'">
    <ww:param value="filesize/1048576"/>
</ww:text>
<ww:text name="'global.format.size.g'">
    <ww:param value="filesize/1073741824"/>
</ww:text>

比较遗憾的是g没有办法在资源文件中q行q个/1024的运,试过{0/1024,number,##0.00'K'} 无法解析。只好在jsp里面?value="filesize/1024"来计实际倹{不知道q里有没有别的更好的实现方式Q?br />
恩,Z再介l一下当时俺们team惛_来的W笨的方法,不要见笑啊,以上面的昄文g大小ZQ想到的Ҏ大致有以下几U:
1. 直接输出字符串的l果
   getFileSizeString(), 在里面用java代码判断大小q生成诸?1.2k", "31.2M"的结果返?br /> 2. 提供多个函数
  getFileSizeByte(), getFileSizeK(), getFileSizeM(), getFileSizeG()
3.使用javascript在client端格式化
      <script type = "text/javascript">     
      var resultNum = <ww:property value="fileSize" />;
       resultNum = format(resultNum);//cM的函?nbsp; 
      document.write(resultNum);
     </script>
4.使用自定义标{?/p> --------------------------------------------------------------------------------------------------------------
struts2中格式化输出数字和日期的Ҏ

资源文g
......
#格式化数字或旉输出
global.format.date={0,date,yyyy-MM-dd}
global.format.money={0,number,K?#0.00 '?}
......
JSP文g
格式化时?  <s:text name="global.format.date"><s:param value="publishTime"></s:param></s:text>
格式化数?  <s:text name="global.format.money"><s:param value="price"/></s:text>



KE 2008-01-13 17:46 发表评论
]]>
strut2(webwork)表单验证问题http://www.aygfsteel.com/keweibo/articles/150023.htmlKEKEMon, 01 Oct 2007 02:33:00 GMThttp://www.aygfsteel.com/keweibo/articles/150023.htmlhttp://www.aygfsteel.com/keweibo/comments/150023.htmlhttp://www.aygfsteel.com/keweibo/articles/150023.html#Feedback0http://www.aygfsteel.com/keweibo/comments/commentRss/150023.htmlhttp://www.aygfsteel.com/keweibo/services/trackbacks/150023.htmlstruts2+hibernate+spring 实现
用框枉?
问题Q提交空表单Ӟ出错信息会不断的累加
解决Ҏ:
spring2.0只将action配置中加?lt;xxx scope="prototype">OK?/span>



KE 2007-10-01 10:33 发表评论
]]>
XXXAction-validation.xmlhttp://www.aygfsteel.com/keweibo/articles/139656.htmlKEKESun, 26 Aug 2007 15:10:00 GMThttp://www.aygfsteel.com/keweibo/articles/139656.htmlhttp://www.aygfsteel.com/keweibo/comments/139656.htmlhttp://www.aygfsteel.com/keweibo/articles/139656.html#Feedback0http://www.aygfsteel.com/keweibo/comments/commentRss/139656.htmlhttp://www.aygfsteel.com/keweibo/services/trackbacks/139656.html"<validators>
 <field name="user.name">
  <field-validator type="requiredstring">
   <message>用户名不能ؓI?lt;/message>
  </field-validator>
  <field-validator type="stringlength">
   <param name="minLength">3</param>
   <param name="maxLength">6</param>
   <message>长度必须?span style="COLOR: #ff00ff">${minLength}?span style="COLOR: #ff00ff">${maxLength}之间Q当前的长度?span style="COLOR: #ff00ff">${user.name.length()} </message>
  </field-validator>
 </field>
 
 <field name="user.password">
  <field-validator type="requiredstring">
   <message>密码不能为空</message>
  </field-validator>
  <field-validator type="stringlength">
   <param name="minLength">4</param>
   <param name="maxLength">12</param>
   <message>长度必须?span style="COLOR: #ff00ff">${minLength}?span style="COLOR: #ff00ff">${maxLength}之间Q当前的长度?span style="COLOR: #ff00ff">${user.password.length()} </message>
  </field-validator>
  <field-validator type="fieldexpression">
   <param name="expression">user.password == user.passwordConfirm</param>
   <message>两次输入的密码的正确</message>
  </field-validator>
 </field>
 
 <field name="user.startDate">
  <field-validator type="date">
   <message>必须为日期类?lt;/message>
  </field-validator>
 </field>
 
 <field name="user.endDate">
  <field-validator type="date">
   <message>必须为日期类?lt;/message>
  </field-validator>
  <field-validator type="fieldexpression">
   <param name="expression">user.endDate > user.startDate</param>
   <message>{日期 必须要大?合同l束日期</message>
  </field-validator>
 </field>
 
 <field name="user.email">
  <field-validator type="email">
   <message>必须为合法的Email格式</message>
  </field-validator>
 </field>
</validators>

KE 2007-08-26 23:10 发表评论
]]>
webwork中的result ?interceptor http://www.aygfsteel.com/keweibo/articles/139180.htmlKEKEFri, 24 Aug 2007 13:32:00 GMThttp://www.aygfsteel.com/keweibo/articles/139180.htmlhttp://www.aygfsteel.com/keweibo/comments/139180.htmlhttp://www.aygfsteel.com/keweibo/articles/139180.html#Feedback0http://www.aygfsteel.com/keweibo/comments/commentRss/139180.htmlhttp://www.aygfsteel.com/keweibo/services/trackbacks/139180.htmlwebwork中的默认resultcd

chain --> 链接到另一个webwork action
dispathc --> 标准Servlet分发器的包含操作(默认?
freemarker --> 生成一个FreeMarker模板
httpheader --> 发送处理HTTP header的命?br>jasper --> 生成一个JasperReports报表
redirect --> 发送HTTP重定?br>velocity --> 生成一个Velocity模板
xalt --> 通过XSL译处理XML

webwork中的默认interceptor(基础)

chain --> 参C一个action复制到另外一个action
component --> 为action应用Ioc的逻辑处理
conversionError --> 如果发生了类型上的错?则增加相应的字段错误信息
execAndWait --> 生成一个独立的U程,以执行action
fileUpload --> 讄上传文g为action文g(File对象)
logger --> 记录action执行的v始时?br>model-driven --> action模型压入值栈?br>params --> HTTP参数值应用至action实例?br>prepare --> 调用action的prepare()Ҏ
servlet-config --> 提供寚w用HTTP对象(h,响应)的访?br>static-params --> action映射讑֮的参数应用到action实例?br>timer --> 控制action的定时执?br>token --> 防止表单重复提交的基本实?br>toen-session --> 防止表单重复提交的高U实?br>validation --> 校验action中的字段?br>workflow -->  如果发生错误则自动返回INPUTq个result code对应的视?/p>

webwork中的默认interceptor(范例)?br>

defaultStack --> 基础intercetor?br>validationWorkflowStack --> 使用validation?workflow q两个interceptor 的范?br>fileUploadStack --> 使用fileUpload interceptor的范?br>componentStack --> 使用component(Ioc) interceptor的范?br>modelDrivenStack --> 使用model-driven interceptor的范?br>chainStack --> 使用chain interceptor的范?br>execAndWaitStack --> 使用execAndWait interceptor的范?br>completeStack --> 使用了chain model-driven Ioc fileUpload validation和workflow的完整inerceptor?br>                              l大部分情况?要以选择它作Z的interceptor?br>



KE 2007-08-24 21:32 发表评论
]]>
xwork.xml配置文ghttp://www.aygfsteel.com/keweibo/articles/139116.htmlKEKEFri, 24 Aug 2007 07:48:00 GMThttp://www.aygfsteel.com/keweibo/articles/139116.htmlhttp://www.aygfsteel.com/keweibo/comments/139116.htmlhttp://www.aygfsteel.com/keweibo/articles/139116.html#Feedback0http://www.aygfsteel.com/keweibo/comments/commentRss/139116.htmlhttp://www.aygfsteel.com/keweibo/services/trackbacks/139116.htmlxwork.xml配置文g

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "xwork-1.0.dtd" >
<xwork>
 <include file="webwork-default.xml"></include>
 
   <package name="default" extends="webwork-default">
    <default-interceptor-ref name="completeStack"/>
    
    <action name="hello" class="dgut.ke.action.HelloWorld">
     <result name="success">/hello.jsp</result>
     <result name="input">/name.jsp</result>
    </action>
   </package>
</xwork>
在这里有一个关键的地方需要注?xwork.xml包含了一个名为webwork-default.xml
的文?q样做是Z保证你可以用所有构ZXWork之上的WebWork附加Ҏ?webwork-default.xml
包含了让WebWork正常q行的标准配|?因此包含它是十分重要?没有q个文g,WebWork无法正确的被
配置,当然E序也无法正常运行了.我们不需要自己创建webwork-default.xml文g,因ؓ它已l包含在
WebWork的JAR文g中了.

webwork.properties配置文g
  与把xwork.xml攑֜WEB-INF/classes下一?我们q需要在q个目录中增加一个名为webwork.properties
文g.其内容ؓ

webwork.tag.altSyntax = true
#解决中文q
webwork.i18n.encoding = GBK

 



KE 2007-08-24 15:48 发表评论
]]>
WebWork的强大的验证??http://www.aygfsteel.com/keweibo/articles/139113.htmlKEKEFri, 24 Aug 2007 07:36:00 GMThttp://www.aygfsteel.com/keweibo/articles/139113.htmlhttp://www.aygfsteel.com/keweibo/comments/139113.htmlhttp://www.aygfsteel.com/keweibo/articles/139113.html#Feedback0http://www.aygfsteel.com/keweibo/comments/commentRss/139113.htmlhttp://www.aygfsteel.com/keweibo/services/trackbacks/139113.html阅读全文

KE 2007-08-24 15:36 发表评论
]]>
վ֩ģ壺 | | | Ȫ| Ͽ| | | | | | | | | ƽ| | | | ɳ| | ߷| | | Ȫ| פ| ƽ| | ˹| ɽʡ| Ǩ| | ī񹤿| | | | ˺| | | ײ| ޻| | ˮ|