为OpenSource担忧---从在weblogic下使用webwork2说起

    技术2022-05-11  2

    时下OpenSource风起云涌铺天盖地,笔者也是OpenSource的支持者之一;但这两天发现的在weblogic下使用webwork2时的问题让笔者为OpenSource的发展捏了把汗.....

    opensymphony是笔者比较喜欢的开源组织之一,从学习osworkflow开始就知道它旗下有诸多短小精悍的软件,WebWork就是其中之一;WebWork现在已经是名声远播了,在国内的使用率也非常高,但......

    上周4,使用webwork2.1.jar,在weblogic Server 6.1,发现问题,paramsInterceptor不能用!所有使用了paramsInterceptor的地方都报NullPointerException,从com.opensymphony.xwork.interceptor.ParametersInterceptor报出来的....查资料....问高手.....看源码.....没有发现问题.....

    周5,在高手的指导下,换成了webwork2.1.7.jar,不报NullPointerException了,但取到的所有parameter都前加"[" 后加"]",比如username="hongsoft",它取出来后变成了username="[hongsoft]".....郁闷.....查资料....问高手.....看源码.....没有发现问题.....

    周6,呆在家也烦,因为问题没有找到,跑公司来,查资料....问高手.....看源码.....没有发现问题.....发现webwork的faq中有介绍怎么在weblogic6.1下使用webwork的,试...不行,再试...还是不行,看faq中还有介绍怎么在weblogic7.0下使用webwork的,不行明天来换成7.0吧.....

    周7,换7.0,试,不行,再试,还是不行;发现2.1.1.jar到2.1.5.jar问题一样;2.1.6.jar和2.1.7.jar问题一样,换webwork.jar,换xwork.jar,换xwork-spring.jar,换....不行...

    周8,没有办法,仔细看代码吧......问题解决,faq上的介绍全部是扯淡,怀疑他们没有试就拿上来了.唉,opensource........

    附:在weblogic下使用webwork2的解决办法修改或者extend Webwork2的总控ServletDispatcher,并配置到web.xml中:package com.hongsoft.agile;

    import java.io.IOException;import java.util.Enumeration;import java.util.HashMap;import java.util.Map;import javax.servlet.http.HttpServletRequest;import com.opensymphony.webwork.dispatcher.ServletDispatcher;

    public class AgileFlowDispatcher extends ServletDispatcher{        /**     *覆盖ServletDispatcher中的方法     * @param request the HttpServletRequest object.     * @return a Map of all request parameters.     * @throws IOException if an exception occurs while retrieving the parameter map.     */    protected Map getParameterMap(HttpServletRequest request) throws IOException {        Map map=new HashMap();        Enumeration e=request.getParameterNames();        while(e.hasMoreElements())        {            String key=(String)(e.nextElement());            map.put(key,request.getParameter(key));        }        return map;    }}


    最新回复(0)