当前位置: 代码迷 >> J2EE >> 配置Struts2的一个有关问题
  详细解决方案

配置Struts2的一个有关问题

热度:33   发布时间:2016-04-17 23:35:59.0
配置Struts2的一个问题
如果helloworld.jsp按图片上那样就没问题,如果helloworld.jsp放在jsps文件夹中就会报404错误,sucess.jsp放在哪都没影响




------解决思路----------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

提交页面是哪个页面(有form提交的那个jsp)?
嗯,就是那个helloworld.jsp

如果helloworld.jsp放在jsps文件夹中就会报404错误,是指访问不到success.jsp了
如果success.jsp放在WebContent目录,那么struts配置文件中应该这样写../success.jsp
如果success.jsp放在jsps目录中,那么struts配置文件中应该这样写/success.jsp

ps:sucess.jsp放在哪都没影响,这句有点误导大家

如果helloworld.jsp放在jsps中能访问到helloworld.jsp,但点击提交就出现HTTP Status 404 - There is no Action mapped for action name userlogin.这个错误。
如果success.jsp放在WebContent目录,struts配置文件中写/success.jsp
如果success.jsp放在jsps目录中,struts配置文件中写/jsps/success.jsp
如果success.jsp放在WEB-INF目录中,struts配置文件中写/WEB-INF/success.jsp


如果是这种情况,你helloworld.jsp应该这些action,action="../user/userLogin"
这个和struts2的需找action的方法有关

如果helloworld.jsp放在jsps中

form中的action="user/userLogin"
那么提交form访问路径是类似这样的http://xxxx/jsps/user/userLogin
这个时候struts2是这样找action的
先去这个namespace(jsps/user)去找action
如果没有那么继续道namespace(jsps)下找action,
还是没有就到namespace(/)下去找action
如果都找不到就提示没有找到action

显然你这种情况下提交form肯定是找不到action的
因为你的namespace是user


明白怎么了,不过一般在 struts2 中这个路径怎么用

明白怎么了,不过一般在 struts2 中这个路径怎么用?

一般namespace根据业务划分就行
到时候后建对应业务目录,把对应的jsp放在对应业务目录中就行
  相关解决方案