`

Struts2返回普通String

 
阅读更多

Struts2中Action方法默认返回一个String,改字符串会匹配struts.xml中的result去找对应的jsp页面,也就是说Action最终返回的是一个jsp页面。但是很多时候我们也需要用Struts2去返回一个普通的String(不是jsonString),那么有如下两种方法实现,这两种方法同适用于Android客户端请求后返回String的响应。

 

方法一:Action.java中的代码如下。struts.xml中配置不变

public String execute() throws Exception {
//注意:加上这句就必须设置响应的编码格式,否则会出现乱码
		HttpServletResponse response = ServletActionContext.getResponse();
		response.setContentType("text/html;charset=UTF-8");
		PrintWriter out = response.getWriter();

		String dbusername = "Charles";
		if (username.equals(dbusername)) {
			 out.println("seccess");//返回的字符串数据
			return null;
		}
		return null;
	}

 

方法二:

 TextStringAction.java 

public class TextStringAction extends ActionSupport{
	// input属性
	private String username;
	private String password;
	// output属性
	private InputStream inputStream; //这个名字和struts.xml中对应,不能写错

	public InputStream getInputStream() {
		return inputStream;
	}

	public void setInputStream(InputStream inputStream) {
		this.inputStream = inputStream;
	}

	public String execute() throws Exception {
		String dbusername = "Charles";
		if (username.equals(dbusername)) {
			inputStream = new ByteArrayInputStream("success成功"
					.getBytes("UTF-8"));
			return "success";
		}
		return null;
	}
        // ------------省略getter/setter---------
   }

 struts.xml中设置resultType为stream.

 

	<action name="testString" class="com.tarena.web.TextStringAction">
			<result type="stream">
				<param name="contentType">text/html</param>
				<param name="inputName">inputStream</param>
			</result>
		</action>

 

 

 

  • 大小: 24.4 KB
分享到:
评论

相关推荐

    Struts2_result返回类型

    `Struts2_result返回类型`指的是在Action执行成功或失败后,如何将控制权传递到下一个页面或资源。这些返回类型定义了不同的结果处理策略,使得开发者可以根据需求选择合适的方式。 首先,我们来看几个常见的返回...

    Struts2学习小结

    - 普通类:只需要包含 `public String execute()` 方法即可。 2. **Action 配置**: - `&lt;action&gt;` 标签如果没有指定 `class` 属性,默认使用 `com.opensymphony.xwork2.ActionSupport`。 - `&lt;result&gt;` 标签如果...

    Struts2上传方法

    ### Struts2上传方法 #### 1. 文件上传的基本原理 在进行文件上传时,我们需要了解文件是如何通过Web表单提交的。表单元素的`enctype`属性指定了表单数据的编码方式,这对于文件上传至关重要。Struts2和其他Web...

    Struts2文档教程

    - Struts2则更加灵活,既可以实现Action接口,也可以继承ActionSupport抽象类,甚至只需包含一个返回String类型的`execute()`方法的普通POJO即可作为Action使用。 2. **线程模式对比**: - Struts1使用单例模式,...

    struts2基本配置

    需要注意的是,Struts2的标签库提供了表单元素的回显功能,这在普通的HTML表单中是不具备的。 #### 三、Struts2配置文件详解 - **struts.xml配置**:这是Struts2框架的核心配置文件,位于项目的src目录下。在此...

    myeclipse+struts+ajax

    - Struts2官方明确表示提供了一流的AJAX支持,这意味着开发者可以通过简单的标签来实现AJAX功能,就像使用普通的Struts标签一样。 - 实现方式上,Struts2并未重新开发新的AJAX框架,而是采用了已经成熟的框架如Dojo...

    Struts2 Pojo(六)

    例如,Struts2的Tiles插件提供了布局和页面组合的功能,而Struts2 JSON插件则使得Action可以直接返回JSON格式的数据,适合于构建AJAX应用。 6. **源码分析和工具** 标签“源码”提示我们可能需要对Struts2的内部...

    Struts 2整合Ajax开发

    Struts 2是一个非常流行的Java Web框架,它极大地简化了MVC(模型-视图-控制器)架构的应用程序开发。而Ajax(异步JavaScript和XML)技术则为Web应用程序带来了无需刷新整个页面即可更新部分内容的能力,提高了用户...

    struts2上传下载

    ### Struts2上传下载功能详解 #### 一、引言 在Web开发中,文件上传下载是一项常见的需求,尤其在用户交互频繁的应用场景中。Struts2作为一款成熟且广泛使用的MVC框架,提供了简洁而强大的文件上传下载功能。本文...

    struts2精通

    Action类可以是实现了Action接口的类,也可以是继承自ActionSupport的类,甚至可以是普通的POJO类,只要它们包含了返回String类型的execute或doExecute方法。 - **配置struts.xml**:这是Struts2的核心配置文件,...

    Struts2框架的权限控制研究

    4. Struts2框架根据Action返回的结果来渲染相应的视图,并将结果显示给用户。 #### 三、Struts2权限控制方法 ##### 3.1 基于容器的权限控制 在Struts2中,可以通过Web容器(如Tomcat)实现基本的权限控制。具体来...

    Java实训教程 Java软件开发实战 Java开发框架介绍 struts2_2_Action详解 共43页.pptx

    在Struts2框架中,Action是核心组件之一,主要负责接收用户的请求并进行相应的业务逻辑处理,最后返回一个结果给用户。下面将详细介绍Action的相关知识点: ##### 2.1 Struts2 Action定义与使用 **定义方式**: 1. ...

    Struts2.0-study

    - **Action 类型**:Struts2中的Action可以是任何普通的Java类(即POJO),而Struts1中的Action需要继承特定的基类。 - **拦截器**:Struts2引入了一种称为拦截器(Interceptor)的机制来处理请求,这使得开发过程...

    Ajax入门实例结合struts2

    在Struts2框架中,Ajax请求可以像处理普通HTTP请求一样处理。Struts2的动作类会接收到请求,并根据配置的Result类型返回相应的结果。在这个例子中,我们可以创建一个名为"register"的动作,处理用户的注册请求。在...

    传智播客struts2框架2016版视频教程笔记

    ### 传智播客Struts2框架2016版视频教程笔记 #### 概述 Struts2是一个用于构建企业级Java Web应用程序的开源框架。它基于MVC设计模式,能够帮助开发者更加高效地组织代码结构,并提供了一系列实用的功能,如拦截器...

    struts2整理文档

    - 不能使用Struts2的标签接收,只适用于普通的HTML标签。 #### 二、Struts2条件判断——`&lt;s:if&gt;`标签 **1. `&lt;s:if&gt;`标签的使用** - **语法示例**: ```html 登陆验证 ``` - **功能介绍**: - `&lt;s:if&gt;`...

    完整的struts2配置,带实例

    在Struts2中,核心组件是Action类,它处理用户请求并返回相应的结果。而Spring框架则通过依赖注入(DI)来管理对象的生命周期和装配,使得代码更加松耦合,易于测试和维护。整合Struts2和Spring,我们可以将Action类...

Global site tag (gtag.js) - Google Analytics