`

struts2配置中Action的name 和package的name和namespace作用

    博客分类:
  • SSH
 
阅读更多

struts2配置中Action的name 和package的name和namespace是什么作用 

 

在struts2 struts.xml 配置中

 

	<package name="ajax" extends="json-default" namespace="/json">
		<action name="ajaxLogin" class="com.rg.email.action.AjaxLoginAction">

			<!-- 返回类型为json 在sjon-default中定义 -->
			<result type="json">
<!-- 				root的值对应要返回的值的属性
				这里的result值即是 对应action中的 result -->
				<param name="root">result</param>
			</result>
		</action>
	</package>
	

 

name="ajax"
namespace="/json"
name="ajaxLogin"
这三个怎么去理解啊 .

----------------------------
1.package中的name只是一个标识,你可以随意命名;
2.action中的name对应你页面中的一个action跳转,比如你页面有个表单提交: <form action="struts.xml中action里的name">
3.namespace是用于区分包中相同的类,如果没写,说明该包为默认空间,如果写了(如这个例子),那么就说明包ajax的空间为/json。

namespace实际上是在包的基础上对Action的进一步组织和划分,可以解决Action重名问题,因为在不同的命名空间中是可以有相同的Action名的,就好比一班有个叫张三的,二班也有个叫张三的,当我们呼叫某个张三时,就得带上“命名空间”,Action也是如此,例子的ajaxLogin就必须通过 /json/ajaxLogin.action的方式来进行调用。

ajaxLogin那个name就是Action的名字,相当于上个例子的“张三”

包的名字只是作为其他包引用本包的标记

 

 

package com.rg.email.action;

import java.util.HashMap;
import java.util.Map;

import org.apache.struts2.json.annotations.JSON;

import net.sf.json.JSONObject;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.rg.email.action.pojo.LoginPojo;

public class AjaxLoginAction extends ActionSupport implements
		ModelDriven<LoginPojo> {

	private static final long serialVersionUID = 1L;

	private LoginPojo user = new LoginPojo();

	@Override
	public LoginPojo getModel() {
		return user;
	}

	// 用户Ajax返回数据
	private String result;

	@JSON(name = "result")
	public String getResult() {
		return result;
	}

	public void setResult(String result) {
		this.result = result;
	}

	@Override
	public String execute() {
		System.out.println("AjaxLoginAction-->" + user.getUsername()
				+ user.getPassword() + user.getVerification_code());

		// 用一个Map做例子
		Map<String, String> map = new HashMap<String, String>();

		// 为map添加一条数据,记录一下页面传过来loginName
		map.put("name", user.getUsername());

		// 将要返回的map对象进行json处理
		JSONObject jo = JSONObject.fromObject(map);

		// 调用json对象的toString方法转换为字符串然后赋值给result
		this.result = jo.toString();

		// 可以测试一下result
		System.out.println(this.result);

		return SUCCESS;
	}

}
 
0
0
分享到:
评论

相关推荐

    Struts 2使用注解配置Action

    1. `@Action`: 这是Struts 2中最核心的注解,用于标记一个方法为处理请求的Action。你可以指定Action的名字、结果页面和其他属性。例如: ```java @Action(value = "myAction", results = { @Result(name = ...

    Struts2 Action参数详细说明

    在Struts2中,Action的配置和使用方式有多种,下面将详细介绍Struts2 Action参数的详细说明。 首先,我们来看Action的配置格式。在Struts2的配置文件(通常是struts.xml)中,Action的基本配置结构如下: ```xml ...

    struts2配置文件

    &lt;package name="struts2" extends="struts-default" namespace=""&gt; &lt;action name="login_*" class="action.LoginAction" method="{1}"&gt; &lt;result name="isLogin"&gt;/login.jsp &lt;/action&gt; &lt;/package&gt; &lt;/struts&gt; ```...

    Struts2中Action接收参数的方法

    在 Struts2 项目中,需要在 web.xml 和 struts.xml 文件中进行配置。web.xml 文件中,需要配置 Struts2 的过滤器,例如: ``` &lt;filter-name&gt;struts2&lt;/filter-name&gt; &lt;filter-class&gt;org.apache.struts2.dispatcher...

    Struts2上传和下载Action配置

    总结来说,Struts2中的文件上传和下载是通过Action类和配置文件协同完成的,它提供了便捷的API来处理文件I/O,并且可以灵活地配置结果类型来满足不同的需求。通过理解这些基础知识,开发者可以轻松地在Struts2项目中...

    Struts2中使用通配符优化配置

    在Struts2中,使用通配符优化配置是实现这一目标的有效手段。通配符允许开发者以一种更加灵活的方式定义Action,避免了为每一个Action单独编写配置项的繁琐工作。 首先,我们来理解一下什么是通配符。在Struts2的...

    struts2 在eclipse 配置成功

    &lt;package name="default" namespace="/" extends="struts-default"&gt; &lt;action name="hello" class="com.example.struts2test.action.HelloWorldAction"&gt; &lt;result name="success"&gt;/hello.jsp &lt;/action&gt; &lt;/package...

    struts2 零配置

    这通常通过在`struts-default.xml`或自定义的配置文件中设置`&lt;package&gt;`元素的`namespace`和`action`属性来实现: ```xml &lt;package name="default" namespace="/" action-alias="*"&gt; &lt;default-action-ref name=...

    eclipse 配置struts2

    这是Struts2的核心配置文件,用于定义Action、结果页面和拦截器等。 3. **设置Struts2的Filter** - 在Web.xml文件中,我们需要配置Struts2的DispatcherServlet(通常称为StrutsPrepareAndExecuteFilter)。这将...

    struts2初始使用环境配置

    &lt;package name="default" namespace="/" extends="struts-default"&gt; &lt;action name="hello" class="com.example.HelloWorldAction"&gt; &lt;result name="success"&gt;/HelloWorld.jsp &lt;/action&gt; &lt;/package&gt; &lt;/struts&gt; ``...

    struts2配置文件以及代码示例

    2. **包(packages)**:用于组织Action和配置相关的组件,如拦截器、结果类型等。 3. **Action配置**:定义Action的基本信息,如执行路径、方法名称、结果配置等。 4. **拦截器(interceptors)**:用于处理预处理...

    Struts2配置

    在Struts2中,需要配置两个主要的过滤器:StrutsPrepareAndExecuteFilter和Struts2的默认配置。 - **StrutsPrepareAndExecuteFilter**:这是Struts2的核心过滤器,负责拦截所有进入应用程序的请求,并处理这些请求...

    struts2配置文件详解

    3. **`struts.xml`**:位于Web应用中,是Struts2的核心配置文件,用于配置Action、拦截器等。 4. **`struts.properties`**:同样位于Web应用中,用于指定一些高级配置项。 5. **`web.xml`**:Web应用的部署描述符,...

    Struts2 in action

    &lt;package name="default" namespace="/" extends="struts-default"&gt; &lt;action name="hello" class="com.example.ExampleAction"&gt; &lt;result name="success"&gt;/WEB-INF/views/hello.jsp &lt;/action&gt; &lt;/package&gt; &lt;/...

    freemarker与struts2详细配置

    &lt;package name="default" namespace="/" extends="struts-default"&gt; &lt;result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult"/&gt; &lt;/package&gt; ``` 这里我们设置了...

    深入Struts2配置

    在深入理解Struts2配置时,我们首先需要了解其核心组件,包括Action和拦截器(Interceptor)。Action是业务逻辑的载体,而拦截器则是执行特定任务的中间层,比如日志记录、权限验证等。Struts2通过包(package)来...

    去掉.action去掉.do字样 隐藏struts2 URL地址action, strus1的扩展名do也是同理.zip

    本篇文章将详细介绍如何在Struts2中去除.action后缀,以及Struts1中隐藏.do扩展名,使URL更加简洁。 首先,让我们来看看Struts2的情况。在Struts2中,默认情况下,所有的请求都会映射到.action结尾的URL上。为了...

    struts 2 action 动态调用

    在Struts 2中,动态方法调用是指通过配置文件指定Action类中的特定方法来响应不同的用户请求。默认情况下,Struts 2框架会查找并调用名为`execute()`的方法。但是,我们可以使用`&lt;action&gt;`元素中的`method`属性来...

Global site tag (gtag.js) - Google Analytics