ssh2整合后页面提交数据找不到action报404!!!!!!!!!!!!!!!

谁的大王 2012-08-22 12:14:45
页面提交后显示出的路径和我配置的完全不一样,怎么回事???(⊙o⊙)

我的struts2.xml配置完全没有pages这个路径:
<package name="student" namespace="/student" extends="struts-default">
<action name="std_*" class="StdAction" method="{1}">
<result name="add">/pages/list.jsp</result>
<result name="list">/pages/list.jsp</result>
</action>
</package>
我的添加页面add.jsp(在pages目录下):
<s:form action="student/std_add.do">
姓 名:<s:textfield id="name"/><br>
性 别:<s:textfield id="gender"/><br>
入学日期:<s:textfield id="startDate"/><br>
<s:submit value="提 交"></s:submit>
</s:form>

请教各位侠客们,我的是神马问题呀 --! 555555555555555555555~~~~~~~~~~~~~~
...全文
607 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
code88888 2014-06-03
  • 打赏
  • 举报
回复
Struts2 默认的是 .action ,若果你想用 .do 那就加上这struts.xml 里加上这一句 <constant name="struts.action.extension" value="do"></constant>
zuokankan 2014-01-23
  • 打赏
  • 举报
回复
这个整合spring问题,解决方法: 把spring里管理action的bean 去掉。 struts配置,action标签的 class路径写全 就OK了。 否则,在页面应用s:form标签提交的情况下,总会出现404问题。
谁的大王 2012-08-23
  • 打赏
  • 举报
回复
谢谢你们,尤其谢谢18楼提出的意见和我的不足,谢谢大家~~~~~.......
YECHWNG 2012-08-23
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 的回复:]
引用楼主 的回复:
页面提交后显示出的路径和我配置的完全不一样,怎么回事???(⊙o⊙)

我的struts2.xml配置完全没有pages这个路径:
<package name="student" namespace="/student" extends="struts-default">
<action name="std_*" class="StdAction" method="{……
[/Quote]
很对
拭旧 2012-08-22
  • 打赏
  • 举报
回复
action 家post 方法
谁的大王 2012-08-22
  • 打赏
  • 举报
回复
造我的配置请求的应该是/ssh2/student/std_add.do才对呀,怎么就变成了/ssh2/pages/student/std_add.do
哥哥姐姐妹妹爷爷奶奶帮帮忙吧 555~~~~~~~~~~~~~~...
  • 打赏
  • 举报
回复
把这个student/std_add.do改成绝对路径,然后加上 method="post",,规范问题很重要的。
谁的大王 2012-08-22
  • 打赏
  • 举报
回复
我就是从添加页面add.jsp发的请求~~~~~~~~ --!
谁的大王 2012-08-22
  • 打赏
  • 举报
回复
可是现在他都跳不到action里面
谁的大王 2012-08-22
  • 打赏
  • 举报
回复
是的
我的list.jsp在pages目录下
dw_java08 2012-08-22
  • 打赏
  • 举报
回复
<result name="add">/pages/list.jsp</result>
<result name="list">/pages/list.jsp</result>
请问这个pages是哪来的?你要访问的jsp页面放在哪个路径下面?建议楼主访问页面的话页面统一使用绝对路径
你的list.jsp页面是不是放在pages文件夹下面?
谁的大王 2012-08-22
  • 打赏
  • 举报
回复
5楼说的在struts2.xml配置文件修改action的class路径,可是我的action交给spring管理了啊,你这样做不对吧!?

还有你们说的方法我都试了不管用。


继续求解~~~~~~~~~~~~~~~~~~~~~~~
求姐脱~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!!!!!!!!!!!!!
wxd83210 2012-08-22
  • 打赏
  • 举报
回复
你的struts2.xml配置文件中的<action name="std_*" class="StdAction" method="{1}">
把class的地址改为具体的“com.student.StdAction”试试
qq358362521 2012-08-22
  • 打赏
  • 举报
回复
同意 18楼
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
页面提交后显示出的路径和我配置的完全不一样,怎么回事???(⊙o⊙)

我的struts2.xml配置完全没有pages这个路径:
<package name="student" namespace="/student" extends="struts-default">
<action name="std_*" class="StdAction" method="{1}">
<resu……
[/Quote]


对于这种不好维护的配置、我直接就不管、
楼主若是想尝鲜着去理解倒好说、以后维护就是给自己找麻烦、

我的struts2.xml配置完全没有pages这个路径:
<package name="student" namespace="/student【你这里的namespace是/student开头的那么请求也必须有这个/student开头】" extends="struts-default">
<action name="std_*" class="StdAction【请把你的这个类action的全部package路径全部贴全、别写到默认的default包下、试着新建个package加在里面】" method="{1}">
<result name="add">/pages/list.jsp</result>
<result name="list">/pages/list.jsp</result>
</action>
</package>
我的添加页面add.jsp(在pages目录下):
<s:form action="/student/std_add.do">【这里要说明的就是 因为你add.jsp是在你pages的文件下、你前面不加/的话会误认为当前的路径加你的action去做请求动作】
姓 名:<s:textfield id="name"/><br>
性 别:<s:textfield id="gender"/><br>
入学日期:<s:textfield id="startDate"/><br>
<s:submit value="提 交"></s:submit>
</s:form>



最后想说的就是、通配符这种配置、了解了解就可以了、以后若是开发中写这种配置的话、会让人误以为你耍小聪明的、
  • 打赏
  • 举报
回复
class="StdAction"加上包名
cxw3152 2012-08-22
  • 打赏
  • 举报
回复
把<s:form action="student/std_add.do">改成<s:form action="student/std_add.action"> 试试。。
谁的大王 2012-08-22
  • 打赏
  • 举报
回复
不好意思!!! --!
刚才的原因可能就是不规范引起的吧!!我向11楼ch656409110说的加了method="post"
这次请求路径是对了,但是还是不跳入action中
我的struts2.xml:
<struts>
<constant name="struts.ui.theme" value="simple" />
<constant name="struts.i18n.encoding" value="UTF-8" />
<constant name="struts.action.extension" value="do" />
<constant name="struts.serve.static.browserCache" value="false" />
<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" />
<package name="student" namespace="/student"
extends="struts-default">
<action name="std_*" class="StdAction" method="{1}">
<result name="add">/pages/list.jsp</result>
<result name="list">/pages/list.jsp</result>
</action>
</package>
</struts>

最后我把 <action name="std_*" class="StdAction" method="{1}">
中的class换成包名+类名的形式也不管用。而且每次页面请求时也清理了缓存,
就是不知道为什么进不去action
求解???????????????????????????????(⊙o⊙)
谁的大王 2012-08-22
  • 打赏
  • 举报
回复
都不是你们说的原因 --!
laodong_008 2012-08-22
  • 打赏
  • 举报
回复
把<s:form action="student/std_add.do">改成<s:form action="student/std_add.action">
加载更多回复(2)

81,094

社区成员

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

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