论坛首页 Java版 Webwork

关于webwork的action跳转,传值的问题

浏览 1802 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2007-11-28
按照论坛上提供的方法做了如下设置
xwork.xml
        <action name="Schedule" class="org.efs.openreports.actions.ScheduleAction">
            <result name="input" type="velocity">
                <param name="location">Schedule.vm</param>
            </result>
            <result name="email" type="chain">
            	<param name="actionName">Email</param>
            </result>
        		<result name="file" type="chain">
        			<param name="actionName">File</param>
        		</result>
        		<interceptor-ref name="defaultStack"/>                         
        </action>


变量有String date、String hour、minute等,在三个action的java代码中都包含有这些变量的get和set方法。

在File和Email Action中有如下的检查:
		if (submitSchedule)
		{
			if (date == null
				|| date.length() < 1
				|| hour == null
				|| hour.length() < 1
				|| minute == null
				|| minute.length() < 1)
			{
				Calendar c = Calendar.getInstance();
				c.setTimeInMillis(FieldHelper.today());
				date = dateProvider.formatDate(c.getTime());
				hour = FieldHelper.hourStr();				
				minute = FieldHelper.minuteStr();				
				return SCHEDULE;
			}
			
			try
			{...}

每次运行都返回SCHEDULE,就是返回到Schedule.vm。
想问一下,这么写哪里出错了。
   
最后更新时间:2007-11-28
你的其他返回语句捏?咋木看到捏?
   
0 请登录后投票
最后更新时间:2007-11-30
似乎是你的return的,在配置文件里并没有找到匹配的result

还没看webwork的源代码,估计有二:

1:是不是默认的name="input"?

2:是不是没有匹配的情况下,默认是第一条呢?

截自:http://wiki.javascud.org/display/ww2cndoc/Result+Configuration
请参考最后一条没有name属性的配置

结果标签告诉WebWork在action被调用以后下一步做什么.这里是WebWork定义好的一些结果编码:

String SUCCESS = "success";
String NONE    = "none";
String ERROR   = "error";
String INPUT   = "input";
String LOGIN   = "login";您可以自己扩展.大多数情况下你会用到 SUCCESS 或 ERROR ,当返回 SUCCESS 时跳转到下应用程序的一个页面.

<result name="success" type="dispatcher">
    <param name="location">/thank_you.jsp</param>
</result>...如果返回*ERROR*转向错误页面或回到前面的页面.

<result name="error" type="dispatcher">
    <param name="location">/error.jsp</param>
</result>结果在xwork.xml文件中定义,嵌套在<action>标签里.如果location参数是唯一的参数,你可以这样简单的定义:

<action name="bar" class="myPackage.barAction">
  <result name="success" type="dispatcher">
    <param name="location">foo.jsp</param>
  </result>
</action>或简单的

<action name="bar" class="myPackage.barAction">
  <result name="success" type="dispatcher">foo.jsp</result>
</action>甚至更简单

<action name="bar" class="myPackage.barAction">
   <result>foo.jsp</result>
</action>
   
0 请登录后投票
最后更新时间:2008-01-07
个人观点:
  如果“每次运行都返回SCHEDULE”也就是说:返回的result的name="input"。

1.确认程序执行到了你的action方法
  可以加断点或在方法体的第一行加一个打印语句。如果没有执行到你的action方法,检查一下你页面提交到后台的数据的类型与你定义的变量的类型是否相符。比如说,我们有个变量long l,在页面上变量l对应的输入框,填写了字母,webwork就会自动为return INPUT。具体我也忘了,自己看看书吧。
2.如果确实执行到了action方法,我也没什么好办法解决,加断点,查错吧。
   
0 请登录后投票
最后更新时间:2008-01-14
当输入表单name和action的属性不匹配时,他就返回"input".
   
0 请登录后投票
最后更新时间:2008-05-17
gerbility 写道
按照论坛上提供的方法做了如下设置
xwork.xml
        <action name="Schedule" class="org.efs.openreports.actions.ScheduleAction">
            <result name="input" type="velocity">
                <param name="location">Schedule.vm</param>
            </result>
            <result name="email" type="chain">
            	<param name="actionName">Email</param>
            </result>
        		<result name="file" type="chain">
        			<param name="actionName">File</param>
        		</result>
        		<interceptor-ref name="defaultStack"/>                         
        </action>


变量有String date、String hour、minute等,在三个action的java代码中都包含有这些变量的get和set方法。

在File和Email Action中有如下的检查:
		if (submitSchedule)
		{
			if (date == null
				|| date.length() < 1
				|| hour == null
				|| hour.length() < 1
				|| minute == null
				|| minute.length() < 1)
			{
				Calendar c = Calendar.getInstance();
				c.setTimeInMillis(FieldHelper.today());
				date = dateProvider.formatDate(c.getTime());
				hour = FieldHelper.hourStr();				
				minute = FieldHelper.minuteStr();				
				return SCHEDULE;
			}
			
			try
			{...}

每次运行都返回SCHEDULE,就是返回到Schedule.vm。
想问一下,这么写哪里出错了。

webwok 如果配置validation 验证失败,则自动跳转到名为input得result ,楼主一定是验证没通过!
   
0 请登录后投票
论坛首页 Java版 Webwork

跳转论坛:
JavaEye推荐