`

struts中调用Action时注意

    博客分类:
  • ssh
阅读更多

问题描述:

struts-config.xml配置

<action attribute="itemForm" input="/jsp/errors.jsp"
			name="itemForm" parameter="status" path="/jsp/ques/item"
			scope="request" type="com.klx.struts.action.ItemAction">
			<forward name="question" path="/jsp/ques/question.jsp"></forward>
		</action>

  

itemAction.java代码

public class ItemAction extends DispatchAction {
	private IItemDAO iitemdao;
	/**
	 * Method execute
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward selectAll(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		List all = null;
		try{
			all = this.iitemdao.queryAll();
		}catch(Exception e){
			e.printStackTrace();
		}
		request.setAttribute("all", all);
		return mapping.findForward("question");
	}

	public ActionForward aa(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		ItemForm itemForm = (ItemForm) form;// TODO Auto-generated method stub
		return null;
	}

	public IItemDAO getIitemdao() {
		return iitemdao;
	}

	public void setIitemdao(IItemDAO iitemdao) {
		this.iitemdao = iitemdao;
	}

 

 

 

 调用:http://localhost:8080/myznt/jsp/ques/item.do?status=selectAll

 

问题:如果按以上方式调用,则会转向执行itemAction类的execute()方法,selectAll方法不会执行(不知道为什么?还请大家指点),因为action默认总是执行execute()方法.

 

解决方式:如果想执行selectAll,有两种方法

 1、在execute()方法中调用selectAll(),把值返回

 2、不要写execute()方法,或更成其它名称,程序就可以执行selectAll();

 

分享到:
评论

相关推荐

    JS调用Struts中的Action

    在调用Action时,可以在URL后面添加查询字符串来传递参数。例如,`actionName.action?paraName=arg0`表示传递一个名为`paraName`的参数,其值为`arg0`。 - **通过表单字段传递参数**: 如果使用表单提交的方式来...

    struts 2 action 动态调用

    默认情况下,Struts 2会调用Action类中的`execute()`方法。 2. **Struts.xml**: 这是Struts 2的配置文件,用于配置Action、拦截器等组件。 3. **Interceptors (拦截器)**: 拦截器用于处理Action执行前后的一系列...

    struts2利用通配符调用同一个Action里面不同的方法

    在Struts2中,Action是业务逻辑处理的核心,而通配符的使用则是Struts2框架中一种灵活的配置方式,允许我们以更简洁的方式调用同一个Action中的不同方法。下面我们将深入探讨如何利用Struts2的通配符来实现这一功能...

    Struts2 动态方法调用(十三)

    在Struts2中,动态方法调用(Dynamic Method Invocation,DMI)是一种特性,允许我们通过URL直接调用Action类的方法,而无需在配置文件中显式指定。这在某些情况下提供了更大的灵活性。 在Struts2的动态方法调用中...

    struts2笔记之动态调用Action指定方法及默认Action

    那么,在 Struts2 中如何动态调用 Action 的指定方法呢? 首先,我们可以在表单中使用 `&lt;form action="login!register"&gt;` 将表单提交到 LoginAction 的 register() 方法。这是最简单的方式,但是这种方式不够灵活,...

    Struts2动态方法调用

    在Struts2中,JavaScript可以用来发起Ajax请求,动态调用后台Action的方法。例如,我们可以使用jQuery的`$.ajax`或`$.post`方法,配合Struts2的ActionContext,将请求参数传递给服务器。在服务器端,Struts2会解析...

    struts2.0之action

    当用户访问`HelloWorld.action`时,Struts框架会根据配置文件创建`HelloWorld`对象并调用`execute()`方法,最后展示`HelloWorld.jsp`页面。 Struts 2.0还提供了一种方式来改变默认调用的方法,这类似于Struts 1.x的...

    Struts 2.0的Action讲解

    拦截器可以用于实现通用的功能,如登录检查、权限验证等,这样就不需要在每个Action中重复编写这些代码。 此外,`ActionSupport`类还提供了错误和异常处理的机制。如果在`execute()`方法中抛出异常,Struts 2会自动...

    struts调用流程总结,适用于初学者.

    - 当ActionServlet启动时,它会加载`struts-config.xml`文件中的配置信息到内存,用于后续请求的匹配和处理。 - 当ActionServlet接收到HTTP请求,它会在`doGet()`或`doPost()`方法中调用`process()`方法,接着由...

    struts2一个action处理多个请求 struts2实例

    但通过`method`属性,我们可以指定特定的请求调用Action类中的不同方法。例如: ```xml &lt;action name="myAction" class="com.example.MyAction"&gt; &lt;result name="saveSuccess"&gt;/success.jsp ...

    struts2 action跳转action传参数

    ### Struts2中Action间的...此外,值得注意的是,在进行Action之间的跳转时,还需要确保目标Action能够正确处理传递过来的参数,即在目标Action中定义相应的getter和setter方法。这对于确保程序的正常运行至关重要。

    struts中dispatchAction用法

    Struts是Java Web开发中的一款经典MVC框架,它的核心组件之一是DispatchAction,这个组件在处理用户请求时起到了至关重要的作用。DispatchAction是Struts提供的一个可扩展的Action类,它允许开发者将一个单一的...

    jsp自动调用action

    - 在设计自动调用Action的过程中,需要确保不会因为恶意请求导致的安全问题。例如,可以通过限制Action的访问权限、对输入参数进行校验等方式来提高系统的安全性。 2. **用户体验**: - 考虑到用户体验,应尽量...

    Struts中action技术实现对数据的增删改查

    Struts是Java Web开发中的一个开源框架,主要负责控制应用程序的流程,而Action技术是Struts的核心组件之一,用于处理用户的请求。在这个场景中,我们讨论的是如何利用Struts的Action来实现对数据库数据的增删改查...

    一个Action多方法调用的Struts 2的应用程序

    利用Struts 2框架创建一个web项目chap2_e22,实现用户登录过程。具体要求是在loginAction类中分别用login()和registered()处理用户登录和注册的过程,分别创建login.jsp和register.jsp两个页面实现登录和注册的...

    Struts2之异步调用机制详解案例struts014

    这个案例“struts014”很可能展示了如何在Struts2中实现异步调用来处理耗时操作,如数据库查询或复杂计算。 异步调用的基本概念是,客户端(通常是Web浏览器)发起一个请求,服务器不立即返回结果,而是启动一个...

    Struts2 Action参数详细说明

    默认情况下,Struts2会调用Action类中的execute方法来处理请求。但是,通过`method`属性,我们可以指定不同的方法对应不同的Action,这样可以实现一个类中多个方法的映射,提高代码复用性。例如: ```xml &lt;action ...

    Struts2 in action(struts2实战)

    - **Interceptor**(拦截器):拦截器是Struts2的核心组件,它们按照预定义的顺序对Action的调用进行拦截,实现如日志记录、权限验证、事务管理等功能。 2. **配置方式**: - **XML配置**:传统的Struts2配置通常...

    Struts2中struts_xml的Action配置详解

    在这个例子中,`saveUser`是Action的名称,当用户发送一个以`saveUser`为后缀的请求时,Struts2会将该请求映射到`SaveUserAction`类。 `class`属性指定Action的实现类,即处理请求的Java对象。这个类通常需要继承自...

    Struts2 in action中文版+配套源代码

    1. **Action类**:在Struts2中,Action类是业务逻辑的核心,它接收用户请求,执行相关操作,并返回结果。Action类可以被配置在struts.xml文件中,指定其对应的URL和返回的结果类型。 2. **拦截器(Interceptors)**...

Global site tag (gtag.js) - Google Analytics