论坛首页 Java企业应用论坛

请问关于webwork的tag使用

浏览 10231 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-08-02  
aaronjiu_00 写道
javafan80130 写道
dwangel 写道
要重定向也是应该action执行完了再重定向吧。
不用直接jsp submit就重定向啊。
那就直接在xwork.xml里的result里配一个结果定向。


下面是重定向的这段下面代码,应该不会执行action,而是直接sendRedirect到配置的url去了。

   String location = key.substring(REDIRECT_ACTION_PREFIX.length());
                    ServletRedirectResult redirect = new ServletRedirectResult();
                    String extension = getDefaultExtension();
                    if (extension != null) {
                        location += "." + extension;
                    }
                    redirect.setLocation(location);
                    mapping.setResult(redirect);

To dwangel:
其实,我说的这种<ww:submit name="redirect-action:list"/>是很有用的,譬如你在编辑edit页面,页面上都是按钮:保存,重置等,(你未必需要非得保存,Action执行之后才到列表页面(Redirect after post)吧),如果你想直接链接到列表页面,这种按钮就起作用了,要不你得这样写,
在ftl中,<@ww.submit value="查看列表" onclick="window.location='${base}/list.action'"/>,不专业,页面还凌乱;
或者你得写一个链接,,<a href="${base}/list.action">查看列表</a>,而这样又与其他的按钮界面风格上不统一了!
To javafan80130:看来你代码看的还挺细,
REDIRECT_ACTION_PREFIX,为了就是不执行Action,直接地重定向。有时这种方法是有需求的,如上所述。

如过还想实现“redirect-after-post”这样的功能,推荐使用
“Redirect Result”或者“Redirect Action Result”,代码实例如下:
<result name="success" type="redirect">
  <param name="location">foo.jsp</param>
  <param name="parse">false</param>
</result>

<package name="public" extends="webwork-default">
    <action name="login" class="...">
        <!-- Redirect to another namespace -->
        <result type="redirect-action">
            <param name="actionName">dashboard</param>
            <param name="namespace">/secure</param>
        </result>
    </action>
</package>

<package name="secure" extends="webwork-default" namespace="/secure">
    <-- Redirect to an action in the same namespace -->
    <action name="dashboard" class="...">
        <result>dashboard.jsp</result>
        <result name="error" type="redirect-action>error</result>
    </action>

    <action name="error" class="...">
        <result>error.jsp</result>
    </action>
</package>


如果担心重定向后信息丢失,可以考虑使用Action Chain拦截器(但不提倡),或者在redirect-action结果定义中,添加参数
<result type="redirect-action">xxxAction!someMethod?x=${x}&y=${y}</result>
x,y需要有getter方法。


aaronjiu_00真的是是强人啊!受教了!能否交个朋友,呵呵 
0 请登录后投票
   发表时间:2006-08-02  
下午抽空研究了几个包,代码比较精彩,比struts简练很多。晚上下班继续研究

不过,感到里面的代码还是有一些smells。

比如ServletDispatcher实现接口WebWorkStatics,就是为了取得里面的静态变量,这个使用方法个人不太推荐。
0 请登录后投票
   发表时间:2006-08-23  
webwork的tag巨慢无比呀。。
我用在页面中用了两个&lt;ww:radiomap/&gt;,其中一个有两个数据项,另外一个有7个数据项,没有数据库访问,只是显示页面,尽然用了好4秒多。慢的不得了。。。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics