是的,我新建的struts-config-hello.xml这个文件
解决方案 »
- IE和火狐兼容问题,请高手解决,急!!
- Struts2中根据数据库中的数据输出checkbox选中的问题
- 分数不够再加分!osworkflow 非法action问题!
- 关于struts frame 超连接一个问题
- 求助一个关于jsvalidation使用路径的问题
- 在java EE中怎么动态更新结果集
- reason: Connection to https://dl-ssl.google.com refused
- JCS配置问题
- 为什么在weblogic上用GBK会出错呢?
- 近期翻阅EJB的资料,感觉EJB有些东西太过繁琐,不如微软的东西来的简单、高效。例如实体BEAN,居然想出来这样一个东西,个人认为实体BEAN
- struts+hibernate项目中src目录下 包的规划
- 急待大虾指点:java做erp是怎么回事?
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param> <init-param>
<param-name>config/moduleB</param-name>
<param-value>/WEB-INF/struts-config-hello.xml</param-value>
</init-param>
<action
...
<forward
name="tohello"
contextRelative="true"
path="/moduleB/xxxxx.do"
redirect="true"
/>
</action>那是不是一定要建立一个“moduleB”的文件夹,还有,我对这里的xxxx.do里写什么不是很明确,因为我做的例子中forward一般都是指向一个页面。
PS:我觉得有些问得有些太弱了,但初学的我真的很着急,谢谢各位了。
<init-param>
<param-name>config/hello</param-name>
<param-value>/WEB-INF/struts-config-hello.xml</param-value>
</init-param>
这样写 你的moduleB 是what 阿
<init-param>
<param-name>config/hello</param-name>
<param-value>/WEB-INF/struts-config-hello.xml</param-value>
</init-param>
这样写 你的moduleB 是what 阿?
moduleB当然是目录的名字,我也遇到了同样的问题,不知道谁能解决
解决方法:
修改form标签:
1。增加module属性,其值就是action所在的模块
2。修改lookup方法,将
moduleConfig = TagUtils.getInstance().getModuleConfig(pageContext);
修改为:
moduleConfig = TagUtils.getInstance().getModuleConfig(module,pageContext);
<init-param>
<param-name>config/moduleB</param-name>
<param-value>/WEB-INF/struts-config-hello.xml</param-value>
</init-param>这样是没问题的假设struts-config-hello.xml中: <action path="/test" ..........>
<forward name="........." path="/test.jsp" />
</action>那么test.do所对应的请求url为 moduleB/test.do ,
也就是说 path="/test" 中的 "/"代表 module级目录
forward 中的path同理假设 在web应用根有 moduleB 目录,
其中有 aa.jsp 中 <a href="test.do"> 此url刚会请求此.do
或直接请求 moduleB/test.do 也可
<init-param>
<param-name>config/moduleB</param-name>
<param-value>/WEB-INF/struts-config-hello.xml</param-value>
</init-param>的确没问题,stonecsdn(东东)你可能理解错了楼主可能卡在小问题上了,我也是这么用的,没问题
在moduleB(或者hello)模块(目录),有一个jsp --〉formtest.jsp,这个jsp中有一个标单:
<html:form action="/logon" method="post">
<bean:message key="prompt.username"/>
<html:text property="username"/>
<br/>
<bean:message key="prompt.password"/>
<html:password property="password"/>
<br/>
<html:submit>
<bean:message key="index.logon"/>
</html:submit>
</html:form>
而关于action---〉logon.do的定义是在struts-config-moduleB.xml中定义的,在默认的struts-config.xml中没有定义,那么如果你直接运行该页面
http://localhost:8080/strutstest/moduleB/formtest.jsp
那么你会看到异常:Cannot retrieve mapping for action /logon。why?
因为直接访问formtest.jsp时,struts form tag 取的module config是默认的关于struts-config.xml的module config,而不是struts-config-moduleB.xml的config,而struts-config.xml没有定义/logon.do这个action,当然找不到,会报异常了
免费招聘、求职。IT人工作的天堂。希望能够为大家所用。