关于struts2的通配符的问题 100
以下是关于问题的描述。。。望指点Struts。xml的配置(action返回结果_返回的页面名次!action的名称)<actionname="*_*!*"class="...
以下是关于问题的描述。。。望指点
Struts。xml的配置(action返回结果_返回的页面名次!action 的名称)
<action name="*_*!*" class="{3}" method="{2}">
<result name="{1}" type="chain">${floder}/{2}.jsp</result>
<result name="index">/index.jsp</result>
</action>
Spring配置bean(正常的普通action继承ActionSupport类)
<bean id="basePageSendPack" class="com.base.ssh.BasePageSendPack" />
页面访问(根据struts。xml的配置文件进行配置)
<a href="loginForum_userLogin!basePageSendPack">请求</a> <br>
请求url为
http://192.168.30.191:8081/Struts2SpringHibernate/loginForum_userLogin!basePageSendPack
提示错误
Unable to instantiate Action, , defined for 'loginForum_userLogin' in namespace '/'
com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:307)
com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:388)
...
root cause
java.lang.ClassNotFoundException:
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
。。。。
*_*!* 是三个通配符
先做的效果是
第一个通配符为返回的result的name
第二个通配符则是作为调用action的方法名称和返回的jsp名称
第三个通配符则是作为action的class与spring匹配bean 的id
上面我访问的也是这个loginForum_userLogin!basePageSendPack
我如果用另一种方式的话比如
第一个通配符作为result的name和jsp返回的一面名称
第二个作为caction的class值和spring的bean的id
第三个作为action的方法名称
使用这种方法则能正常访问 展开
Struts。xml的配置(action返回结果_返回的页面名次!action 的名称)
<action name="*_*!*" class="{3}" method="{2}">
<result name="{1}" type="chain">${floder}/{2}.jsp</result>
<result name="index">/index.jsp</result>
</action>
Spring配置bean(正常的普通action继承ActionSupport类)
<bean id="basePageSendPack" class="com.base.ssh.BasePageSendPack" />
页面访问(根据struts。xml的配置文件进行配置)
<a href="loginForum_userLogin!basePageSendPack">请求</a> <br>
请求url为
http://192.168.30.191:8081/Struts2SpringHibernate/loginForum_userLogin!basePageSendPack
提示错误
Unable to instantiate Action, , defined for 'loginForum_userLogin' in namespace '/'
com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:307)
com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:388)
...
root cause
java.lang.ClassNotFoundException:
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
。。。。
*_*!* 是三个通配符
先做的效果是
第一个通配符为返回的result的name
第二个通配符则是作为调用action的方法名称和返回的jsp名称
第三个通配符则是作为action的class与spring匹配bean 的id
上面我访问的也是这个loginForum_userLogin!basePageSendPack
我如果用另一种方式的话比如
第一个通配符作为result的name和jsp返回的一面名称
第二个作为caction的class值和spring的bean的id
第三个作为action的方法名称
使用这种方法则能正常访问 展开
展开全部
错误是不能够把你的action转换,没有发现login_fornum_userLogin在你xml里面配置,你通配符的位置写的有点错, 一般写俩就够了吧,没看出来你的{3}是在哪儿。
追问
*_*!* 是三个通配符
先做的效果是
第一个通配符为返回的result的name
第二个通配符则是作为调用action的方法名称和返回的jsp名称
第三个通配符则是作为action的class与spring匹配bean 的id
上面我访问的也是这个loginForum_userLogin!basePageSendPack
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询