我对osworkflow比较熟悉,希望可以帮到你.1.要求你近个Login 类必须 implements FunctionProvider 接口.
<pre-functions>
   <function type="class">
       <arg name="class.name">com.yourcompany.struts.Login</arg>
   </function>
</pre-functions>
2.配置文件中传值
如果是静态值,可以定义在arg中
<arg name="arg1">arg1 value</arg>如果是动态值,则必须利用 Map 参数. 请看下面代码, 你的类必须实现FunctionProvider 接口, execute就是这个接口的函数,你必须实现execute方法
execute方法有三个参数: 
第一个是Map dataMap, 第二个是 argspublic void execute(Map dataMap, Map args, PropertySet ps){
//取静态参数方法:
args.get("arg1") //这句取得xml中定义的arg1这个参数的值.//取由外部传进来的值的方法:
dataMap.get("key1") }上例子中的key1来源于doaction
dataMap.put("key1","test"); //这里put 值, execute里可取值.
wf.doAction(wfid, actions[i], dataMap); 

解决方案 »

  1.   

    你不是你 在这中间 自己有手动换行 或者有空格什么的
        <arg name="class.name">
            com.yourcompany.struts.Login
        </arg>
     
      

  2.   


    嗯 呵呵 解释的挺清楚的 还有问题就是
    1.我用的是struts 类继承Action后 也有excute方法 那这个类如果也实现FunctionProvider接口,我想用承Action的excute方法 怎么办呢public ActionForward testObject(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response){
          ......
           return mapping.findForward("leave");
    }2.<pre-functions> 
      <function type="class"> 
          <arg name="class.name">com.yourcompany.struts.Login </arg> 
      </function> 
    </pre-functions>在调用上面的配置时,我如何得到从页面传过来的值呢
    比如我登录系统的用户名和密码,我如何在Login类中得到呢非常感谢你的解答 分不够我再加
      

  3.   


    分我是要的:) 我上面已经说过如何做的了,如果还不明白,可以把你的初始化workflow及doAction的代码贴出来,我看能不能帮你加进去. 
      

  4.   

    呵呵 解决了 能不能把你MSN或QQ留给我丫 日后还要向你请教那 嘿嘿