`
ttitfly
  • 浏览: 623844 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

struts跳转问题

阅读更多
web.xml

<!-- Struts Action Mapping-->
	<servlet>
		<servlet-name>action</servlet-name>
		<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
		<init-param>
			<param-name>config</param-name>
			<param-value>/WEB-INF/struts-config.xml,
				/WEB-INF/modules/struts-config-admin.xml
				</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>action</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>


struts-config-admin.xml

<form-beans>
		<form-bean name="codecatalogForm" type="org.apache.struts.validator.LazyValidatorForm"/>
	</form-beans>

	<action-mappings>
		<!--使用通配符,对/admin/ 进行批量配置-->
		<action path="/admin/*" name="{1}Form" scope="request" parameter="method" validate="false">
			<forward name="list" path="/WEB-INF/pages/admin/{1}List.jsp"/>
			<forward name="edit" path="/WEB-INF/pages/admin/{1}Form.jsp"/>
			<forward name="success" path="/admin/{1}.do?method=list" redirect="true"/>
		</action>
	</action-mappings>


spring的action-servlet.xml

<beans default-autowire="byName" default-lazy-init="true">
	<bean name="/admin/codecatalog" class="com.yahaitt.web.CodecatalogAction"/>
</beans>


页面代码:
<li><a href="admin/codecatalog.do">Codecatalog</a></li>


当点击这个链接后
进入页面:
:<a href="${ ctx }/admin/codecatalog.do?method=edit&id=1">Edit</a>
查看源代码为:
<a href="/searcher/admin/codecatalog.do?method=edit&id=1">Edit</a> //searcher为项目名


当点击Edit后报错误:org.apache.jasper.JasperException: Cannot retrieve mapping for action /codecatalog

跟踪了下代码, debug到
return mapping.findForward(LIST);


这句代码出错了。

也就是说:struts-config.xml里有没有配置/codecatalog映射,只配置了/admin/codecatalog映射,所以 报异常:
org.apache.jasper.JasperException: Cannot retrieve mapping for action /codecatalog



不知道是什么原因?谢谢。
分享到:
评论
3 楼 leeking 2007-08-12  
我觉得用struts标签很有局限性(我指html:*),有的时候还不如直接写html的元素,但出于规范,用struts标签还是有必要的.
2 楼 letle 2007-08-11  
用了html标签以后,action对应的就是struts配置文件中的对应的映射。
在html标签里也不能使用jstl的标签,他们的作用域是不一样的。
1 楼 ttitfly 2007-08-07  
问题已经解决
主要原因是因为跳转的页面/admin/{1}Form.jsp里有这样一段代码 :
<html:form action="/codecatalog.do" focus="name" styleClass="form" onsubmit="return validateUserForm(this)">


这段代码用到了struts标签,会自动立即去struts-config.xml里找/codecatalog这个映射,而这个映射是不存在的,所以就报错了。
所以改为
<html:form action="/admin/codecatalog.do" focus="name" styleClass="form" onsubmit="return validateUserForm(this)">

这样就可以了。

这段代码的struts标签里的action也不能这样写:action="${ctx}/admin/codecatalog.do"
也就是说不能带${ctx}


相关推荐

    struts1.3页面跳转问题

    在Struts1.3中,页面跳转是常见的需求,它涉及到Action类、配置文件(struts-config.xml)以及JSP页面间的交互。本篇文章将深入探讨Struts1.3中的页面跳转机制及其相关知识点。 首先,页面跳转在Struts1.3中有两种...

    struts2 跳转至404 页面的解决方案

    在使用Struts2的过程中,可能会遇到一个常见的问题,即应用试图跳转到一个不存在的页面,导致用户看到404错误。404错误通常表示服务器无法找到请求的资源,这可能是由于URL配置错误、控制器映射问题或者资源实际不...

    struts1跳转大全

    在Struts1框架中,页面跳转机制是其核心特性之一,它允许开发者灵活地控制应用程序的流程,实现从一个页面到另一个页面的导航。本文将深入解析Struts1中的五种不同类型的跳转方法,这包括了完整action、仅有Form的...

    Struts2简单的页面跳转示例

    在本示例中,我们将深入探讨如何利用Struts2实现页面跳转。 首先,让我们了解Struts2的核心概念。Struts2的核心组件包括Action、Result和Interceptor(拦截器)。Action是业务逻辑的执行者,Result则是负责处理...

    Struts 标签 页面跳转 数据库操作

    本篇将深入探讨Struts标签在页面跳转和数据库操作中的应用。 一、Struts标签 1. Radio(单选按钮):Struts提供了`&lt;html:radio&gt;`标签来创建单选按钮组,通常用于让用户在多个选项中选择一项。在JSP页面中,这些...

    struts2 中路径无法跳转的问题

    当遇到“Struts2中路径无法跳转的问题”时,这通常与配置、Action类、结果类型或JSP页面的设置有关。以下是一些可能导致问题的关键知识点: 1. **Struts2配置文件**: - 配置文件通常为`struts.xml`,这是定义...

    struts2 action跳转action传参数

    在Struts2框架中,经常需要实现Action之间的跳转,并在跳转过程中传递必要的参数。这种需求在实际开发中非常常见,尤其是在需要根据用户的不同操作来调用不同的业务逻辑时。下面将详细介绍如何在Struts2中实现Action...

    STRUTS2跳转示意图

    在Struts2中,Action是核心组件,负责处理用户的请求并执行业务逻辑,而Result则是Action执行后的跳转结果。本篇将深入讲解Struts2中的Action和Result,以及它们如何协同工作来实现页面跳转。 首先,让我们理解...

    struts_跳转演示

    在"struts_跳转演示"中,我们重点探讨的是Struts框架如何处理请求并实现页面间的跳转,这是Web开发中的关键环节。 在Struts框架中,跳转主要通过Action类来实现。Action类是业务逻辑的载体,当用户发送请求时,...

    struts服务器跳转

    关于struts2 服务器端跳转的一个小实例

    Struts2中实现页面的跳转

    在Struts2框架下使用`&lt;jsp:forward/&gt;`进行页面跳转时,可能会遇到“404 Not Found”错误,即“no found”的问题。这个错误通常是由于配置不正确或者路径解析不准确导致的。 首先,我们需要理解Struts2的工作原理。...

    Struts2从一个带参数action跳转到另一个action

    资源中示例了一个struts2的配置文件中配置的action的result结果为另外一个action的配置,该跳转的过程中是带所有参赛调整的,在另外一个action中可以接受到当前action的所有参数,此配置文件是我日常开发中的经验...

    struts 1.2 跳转后css或js 无效解决方法

    在使用Struts 1.2框架开发Web应用时,可能会遇到跳转到新的页面后,某些CSS样式或者JavaScript脚本失效的问题。这通常是由于资源加载路径设置不当造成的。下面将详细介绍这一问题的原因、解决方案以及如何确保Action...

    一个struts的action跳转大全

    ### Struts Action 跳转大全解析 #### Struts框架的工作流程 在开始具体解析之前,我们先简要回顾一下Struts框架的工作流程。当用户发起一个HTTP请求时,Struts框架中的`ActionServlet`接收该请求,并通过读取`...

    Struts通过拦截器实现登录后跳转到登录前页面

    Struts是Java Web开发中的一款流行MVC框架,它的核心机制之一就是拦截器(Interceptor)。在Struts2中,拦截器扮演着非常重要的角色,它允许开发者在动作执行前后插入自定义逻辑,如验证、日志、事务管理等。本话题...

    struts2框架源码分析及问题汇总

    1. Action跳转问题:如果Action返回的结果类型不正确,可能会导致页面跳转失败。确保Result类型与配置文件中的定义一致。 2. 拦截器异常:当Interceptor中出现异常时,可能导致整个流程中断。要确保Interceptor的...

    我的笔记:Struts构架中action的跳转大全

    根据提供的文件信息,我们可以深入探讨Struts框架中的Action跳转机制。Struts是一个开源的MVC(Model-View-Controller)框架,用于构建基于Java的Web应用程序。在Struts框架中,Action是处理用户请求的核心组件之一...

    struts2 路径问题

    在处理“struts2 路径问题”时,我们主要关注的是Struts2框架中的URL映射和资源定位。这篇博客文章可能探讨了在使用Struts2时遇到的路径相关问题,如Action配置、结果类型、静态资源访问等。 1. **Action配置**:在...

    struts2.0整合Struts 1

    Result则定义了Action执行后的跳转逻辑,可以是页面、重定向或任何其他响应。 2. **拦截器(Interceptor)**:这是Struts 2的一大亮点,它们是可插拔的组件,可以在Action调用前后执行自定义逻辑,如日志、权限检查...

    struts2获取参数,解决乱码,跳转

    在这个主题中,我们将深入探讨Struts2如何获取参数、解决乱码问题以及实现页面跳转。 首先,让我们来看看Struts2如何获取HTTP请求中的参数。在Struts2中,我们可以使用Action类来接收和处理请求参数。Action类是...

Global site tag (gtag.js) - Google Analytics