如何让Strus2 的action不做跳转

whhmkj 2013-01-24 11:03:03
我用到struts2只是个请求而已,项目需要没办法
我只是需要通过请求进入java方法,java对应的方法没有返回字符串,我返回的是个"null"

但现在问题是我请求成功之后,我相应的信息业拿到了,但stuts2报错了,



我知道这个错误的原因就是我struts配置文件里面,action标签没有写result标签,没有做跳转
我现在就是需要不做跳转,只写个action标签
...全文
493 20 打赏 收藏 举报
写回复
20 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
whhmkj 2013-01-28
问题虽然没有解决 但还是感谢各位同学的大力支持 分不多 但还是要结贴
  • 打赏
  • 举报
回复
whhmkj 2013-01-25
引用
不明白楼主的意思?java方法里不需要返回字符串。。那就直接return null,这样也不会进struts配置,但是这样的话也可以直接使用ajax在,要么就配置一个公共的xml文件,java方法返回字符串就不会执行对应的struts.xml,直接执行公共配置文件
我java方法我是不返回字符串 只是让它执行这个方法 将结果以xml的形式输出到网页 但问题是我在struts配置里面没有写result 它就报错了 我要的是不写result的情况下 保证程序不会报错
  • 打赏
  • 举报
回复
王者_来归 2013-01-25
引用 18 楼 whhmkj 的回复:
引用不明白楼主的意思?java方法里不需要返回字符串。。那就直接return null,这样也不会进struts配置,但是这样的话也可以直接使用ajax在,要么就配置一个公共的xml文件,java方法返回字符串就不会执行对应的struts.xml,直接执行公共配置文件 我java方法我是不返回字符串 只是让它执行这个方法 将结果以xml的形式输出到网页 但问题是我在s……
在struts的配置文件中不配置result是不会报错的,除非你在处理的类中,返回的是一个字符串。你返回的xml数据,以out.println(xml)的这样的方式传回就行了。如果不行,检查你的处理class是不是返回的字符串,如果确定没有返回字符串,那把你的工程clear一下,然后重新启动服务。
  • 打赏
  • 举报
回复
小猴168 2013-01-24
你把action的返回类型设成json就可以了,例:
<action name="MyAction" class="My" method="getTrains">
			<result name="success" type="json" >
				<param name="root">root</param>
			</result>
		</action>
  • 打赏
  • 举报
回复
cxw3152 2013-01-24
return null就不跳转
  • 打赏
  • 举报
回复
arenc 2013-01-24
返回类型设置成void型不就可以了
  • 打赏
  • 举报
回复
whhmkj 2013-01-24
不知道那位可否给个建议
  • 打赏
  • 举报
回复
引用 10 楼 whhmkj 的回复:
引用 arenc 返回类型设置成void型不就可以了 各位不好意思 可能是我说的不大明白 我不是说java方法里面不需要返回一个字符串 而是struts配置文件里面在不写result标签的情况下保证请求完成之后不报错 但我这里就是请求没问题 方法也执行了 我需要的数据也拿到了 但这之后就报上述那个错了 找不到action或result
不明白楼主的意思?java方法里不需要返回字符串。。那就直接return null,这样也不会进struts配置,但是这样的话也可以直接使用ajax在,要么就配置一个公共的xml文件,java方法返回字符串就不会执行对应的struts.xml,直接执行公共配置文件
  • 打赏
  • 举报
回复
王者_来归 2013-01-24
引用 10 楼 whhmkj 的回复:
引用arenc 返回类型设置成void型不就可以了 各位不好意思 可能是我说的不大明白 我不是说java方法里面不需要返回一个字符串 而是struts配置文件里面在不写result标签的情况下保证请求完成之后不报错 但我这里就是请求没问题 方法也执行了 我需要的数据也拿到了 但这之后就报上述那个错了 找不到action或result
如果你在后台处理的方法中返回了一个非null的字符串,而在struts的配置文件中没有配置相应的result的话,那肯定会报错。 你是想在返回一个字符串、不配置struts相关result的情况下,不让其跳转吧。没有设置过,关注有没有人解决这个问题。
  • 打赏
  • 举报
回复
arenc 2013-01-24
引用 10 楼 whhmkj 的回复:
引用arenc 返回类型设置成void型不就可以了 各位不好意思 可能是我说的不大明白 我不是说java方法里面不需要返回一个字符串 而是struts配置文件里面在不写result标签的情况下保证请求完成之后不报错 但我这里就是请求没问题 方法也执行了 我需要的数据也拿到了 但这之后就报上述那个错了 找不到action或result
你都不需要result了,还要返回值干嘛?
  • 打赏
  • 举报
回复
void return null
  • 打赏
  • 举报
回复
我顶你 楼主
  • 打赏
  • 举报
回复
lvzg_005 2013-01-24
看看这篇文章,或许对给你有帮助。 http://www.open-open.com/lib/view/open1325518231062.html
  • 打赏
  • 举报
回复
dw_java08 2013-01-24
引用 7 楼 renxianzuo 的回复:
引用 6 楼 vsddvsd 的回复:引用 2 楼 arenc 的回复:返回类型设置成void型不就可以了 +1 +1
+++1
  • 打赏
  • 举报
回复
whhmkj 2013-01-24
引用
arenc 返回类型设置成void型不就可以了
各位不好意思 可能是我说的不大明白 我不是说java方法里面不需要返回一个字符串 而是struts配置文件里面在不写result标签的情况下保证请求完成之后不报错 但我这里就是请求没问题 方法也执行了 我需要的数据也拿到了 但这之后就报上述那个错了 找不到action或result
  • 打赏
  • 举报
回复
王者_来归 2013-01-24
引用 楼主 whhmkj 的回复:
我用到struts2只是个请求而已,项目需要没办法 我只是需要通过请求进入java方法,java对应的方法没有返回字符串,我返回的是个"null" 但现在问题是我请求成功之后,我相应的信息业拿到了,但stuts2报错了, 我知道这个错误的原因就是我struts配置文件里面,action标签没有写result标签,没有做跳转 我现在就是需要不做跳转,……
return null; 这样就成了。
  • 打赏
  • 举报
回复
renxianzuo 2013-01-24
引用 6 楼 vsddvsd 的回复:
引用 2 楼 arenc 的回复:返回类型设置成void型不就可以了 +1
+1
  • 打赏
  • 举报
回复
General-M 2013-01-24
引用 2 楼 arenc 的回复:
返回类型设置成void型不就可以了
+1
  • 打赏
  • 举报
回复
枫叶之魂 2013-01-24
我的意见就是 使用ajax 在ajax中 你只要不使用回调函数就可以了
  • 打赏
  • 举报
回复
相关推荐
发帖
Web 开发
加入

8.0w+

社区成员

Java Web 开发
社区管理员
  • Web 开发社区
申请成为版主
帖子事件
创建了帖子
2013-01-24 11:03
社区公告
暂无公告