2007年7月20日

同样是看showcase代码时,看到了很牛的一幕...
在看tag时,有:
<s:action id="myDate" name="date" namespace="/" executeResult="false" />
然后下面有
<s:property value="#myDate.before.toString()"/>

<s:date name="#myDate.past" format="dd/MM/yyyy hh:mm"/>
我服了,很有创意的东西



posted @ 2007-09-14 15:27 它山の石 阅读(847) | 评论 (0)编辑 收藏

    最近在学习struts2,发现了很多惊喜,在设计上,确实很优秀,这两天在研究怎么做出一个好的架构,以后好用。
    今天看了包中的showcase例子,发现了一种新的配置action方法:
        <action name="edit-*" class="org.apache.struts2.showcase.action.EmployeeAction">
      
<param name="empId">{1}</param>
            
<result>/empmanager/editEmployee.jsp</result>
            
<interceptor-ref name="crudStack">
                <
param name="validation.excludeMethods">execute</param>
            </
interceptor-ref>
        
</action>
    当时昏了一下,用过这么多MVC的框架,第一次看到action还可以用*配的,很牛啊,自己配了一个,不好使,找原因,发现这里的EmployeeAction实现了com.opensymphony.xwork2.Preparable接口,并实现了prepare()方法,再试,成功。但发现个问题,如果这个action中还有其它的控制处理,而配置文件用的不是这种*形式,比如我的例子:
<action name="BookAction" class="com.sigon.crud.action.BookAction">
            
<result type="redirect">List.action</result>
        
</action>
<action name="Edit*" class="com.sigon.crud.action.BookAction" method="load">
            
<param name="isbn">{1}</param>
            
<result>Edit.jsp</result>
        
</action>
    这里两个action用的是一个action类文件,而且BookAction实现了上面所说的Preparable接口,这时就需要将BookAction中的isbn初始化,否则在页面调用BookAction时出空指针异常
    而在实际项目中,一个Action处理多个控制逻辑是家常便饭,如果还想用这种形式,就要在声明isbn时赋初值,本例中是
private String isbn = "2";
    很明显,不稳妥。所以如何取舍,颇为困扰。
    如果有哪位大侠有好的方法,敬请赐教。






posted @ 2007-09-14 15:06 它山の石 阅读(6649) | 评论 (2)编辑 收藏

给从事IT行业的朋友,给提前预支自己健康的朋友一个
身体器官工作表一览,睡觉别太晚了
任何试图更改生物钟的行为,都将给身体留下莫名其妙的疾病,20、30年之后再后悔,已经来不及了。
一、晚上9-11点为免疫系统(淋巴)排毒时间,此段时间应安静或听音乐 。
二、晚间11-凌晨1点,肝的排毒,需在熟睡中进行。
三、凌晨1-3点,胆的排毒,亦同。
四、凌晨3-5点,肺的排毒。此即为何咳嗽的人在这段时间咳得最剧烈,因排毒动作已走到肺;不应用止咳药,以免抑
制废积物的排除。
五、凌晨5-7点,大肠的排毒,应上厕所排便。
六、凌晨7-9点,小肠大量吸收营养的时段,应吃早餐。疗病者最好早吃,在6点半前,养生者在7点半前,不吃早餐
者应改变习惯,即使拖到9、10点吃都比不吃好。
七、半夜至凌晨4点为脊椎造血时段,必须熟睡,不宜熬夜

posted @ 2007-07-20 14:10 它山の石 阅读(340) | 评论 (0)编辑 收藏