初学,问个struts2关于action名字的问题

豆bean 2015-11-01 04:35:07
struts版本为2.2.1,Eclipse10自带。
action代码如下:
package action;
public class UploadAction {
public String execute(){
return "success";
}
}

struts.xml的代码如下:
<struts>
<package name="upload" extends="struts-default">
<action name="upload" class="action.UploadAction">
<result name="success">/view/success.jsp</result>
</action>
</package>
</struts>

问题如下:
当class="action.UploadAction"时显示No result defined for action action.UploadAction
当UploadAction的名字改成其他时则可以正常运行,比如UUploadAction。
还有LoginAction这个名字也是不能用。
要使用像LoginAction这样“标准”的名字,那包的名字就要改成struts2.action才可以。
我想问问大家其中的原理是什么。
...全文
313 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
zoutao98 2018-11-07
  • 打赏
  • 举报
回复
最近不久我也遇到了这个问题,也是困扰了我很久,之前也是LoginAction报404,改了其他名字又能正常。
豆bean 2015-11-04
  • 打赏
  • 举报
回复
引用 15 楼 xushiqun 的回复:
success.jsp写了吗?把jsp的路径跟代码贴一下啊,现在报404,是找不到文件
兄弟啊,我struts2.xml配置代码都写在那里了,路径自然就一目了然了,而且有成功的截图,怎么会没有jsp呢?而且jsp也是MyEclipse新建的原模版,我只是写了“上传成功”四个字在里面,所有修改都只是action名字多了个"U"。 我虽然初学但不是弱智啊,不是多次尝试和检查依然无果的情况下也不会特地来劳烦大家。
xushiqun 2015-11-04
  • 打赏
  • 举报
回复
success.jsp写了吗?把jsp的路径跟代码贴一下啊,现在报404,是找不到文件
pf_yin 2015-11-04
  • 打赏
  • 举报
回复
求解答,我也遇到这个问题。。。
豆bean 2015-11-03
  • 打赏
  • 举报
回复
讨论这些问题不都是要建立在环境相同的情况下? 那就用MyEclipse10.7,自带Sturts2自带tomcat来测试。 我和我一个同学都有这个问题。 如果你没有是一样的环境么?而且既然不是个例自然也该有原理。
sinat_31535993 2015-11-03
  • 打赏
  • 举报
回复
瞎扯淡,类名相同有什么问题,包名不同就行了,我myeclipse,eclipse都是这么命名的,也没见有啥问题
豆bean 2015-11-02
  • 打赏
  • 举报
回复
引用 9 楼 shijing266 的回复:
找到了,apache官网提到了,UploadAction是File的关键actionhttps://github.com/apache/struts/search?utf8=%E2%9C%93&q=UploadAction&type=Code,至于LoginAction应该也差不多,但是我没找到
谢谢版主。 是很多版本都有这个设定吗?还是说只有struts2.2.1有?我看上面有说没这个问题的,所以想问清楚。
  • 打赏
  • 举报
回复
找到了,apache官网提到了,UploadAction是File的关键actionhttps://github.com/apache/struts/search?utf8=%E2%9C%93&q=UploadAction&type=Code,至于LoginAction应该也差不多,但是我没找到
  • 打赏
  • 举报
回复
struts版本为2.2.1,Eclipse10自带。 action代码如下: package action; public class UploadAction { public String execute(){ return "success"; } } struts.xml的代码如下: <struts> <package name="upload" extends="struts-default"> <action name="upload" class="action.UploadAction"> <result name="success">/view/success.jsp</result> </action> </package> </struts> 问题如下: 当class="action.UploadAction"时显示No result defined for action action.UploadAction 当UploadAction的名字改成其他时则可以正常运行,比如UUploadAction。 还有LoginAction这个名字也是不能用。 要使用像LoginAction这样“标准”的名字,那包的名字就要改成struts2.action才可以。 我想问问大家其中的原理是什么。
豆bean 2015-11-02
  • 打赏
  • 举报
回复
引用 6 楼 shijing266 的回复:
没有吧,我怎么没遇到





  • 打赏
  • 举报
回复
没有吧,我怎么没遇到
豆bean 2015-11-01
  • 打赏
  • 举报
回复
看清楚些问题啊,我的问题是: 要使用像UploadAction或LoginAction这样“标准”的名字,那包的名字就要改成struts2.action才可以。 其他包名像你说的com.my.UploadAction我不是没有尝试过,关键是不行啊,来发帖自然是各种尝试解决不了了才来问。 只要不是“标准”的名字,像多个U的名字UUploadAction,这样就可以随便起包名。 但是只要写UploadAction或者LoginAction这样“标准”的,包名就必须struts2.action,不然就提示找不到。
yzsunlight 2015-11-01
  • 打赏
  • 举报
回复
你把你的类的包名 改一下。 比如com.my.UploadAction
cmh12 2015-11-01
  • 打赏
  • 举报
回复
我也出现了这个问题。我还以为我写错了呢。等待大神回答
豆bean 2015-11-01
  • 打赏
  • 举报
回复
我用的是myeclipse10里自带的tomcat和struts2,难道是与这个有关?
readmemo 2015-11-01
  • 打赏
  • 举报
回复
我试了一下没有发现这个问题,仔细检查一下配置文件。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧