`

struts2返回值问题(需要返回自定义值)

    博客分类:
  • S2SH
阅读更多

struts2返回自定义的值除了去掉get方法,还可以通过自定义一个返回方法,就像servlet一样返回值。

这里需要注意的是action方法中不需要return SUCCESS。

package com.hyit.ttmsoge.action;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;

import sun.org.mozilla.javascript.internal.EcmaError;

import com.hyit.ttmsoge.model.JobNews;
import com.hyit.ttmsoge.service.JobNewsService;
import com.opensymphony.xwork2.ActionSupport;

public class JobNewsAction extends ActionSupport {
	private static final long serialVersionUID = 1L;
	private String start;
	private String limit;
	private int totalProperty;
	
	public void setTotalProperty(int totalProperty) {
		this.totalProperty = totalProperty;
	}
	public void setStart(String start) {
		this.start = start;
	}
	public void setLimit(String limit) {
		this.limit = limit;
	}
	private JobNewsService jobNewsService;
	public void setJobNewsService(JobNewsService jobNewsService) {
		this.jobNewsService = jobNewsService;
	}
	public void getJobNews() throws Exception{
		ArrayList<JobNews> jobNewsList=this.jobNewsService.loadJobNews();
		if(jobNewsList!=null&&jobNewsList.size()!=0){
			this.setTotalProperty(jobNewsList.size());
			String returnValue="{totalProperty:"+totalProperty+",root:[";
			int index=Integer.parseInt(start);
			int pageSize=Integer.parseInt(limit);
		System.out.println("start:"+start+"....limit:"+limit);
			if(pageSize==0){
				pageSize=10;
			}
			for(int i = index;i < pageSize+index&&i<jobNewsList.size(); i ++){
				JobNews jobNews=jobNewsList.get(i);
				//list.add(jobNews);
				returnValue+="{id:"+jobNews.getId()+",newsName:'"+jobNews.getNewsName()+"',createTime:'"+jobNews.getCreateTime()+"'}";
				if(i!=pageSize+index-1){
					returnValue+=",";
				}
			}
			returnValue+="]}";
			this.sendMsg(returnValue);
		
		}
	}
	
	 public void sendMsg(String content) throws IOException{      
	        HttpServletResponse response = ServletActionContext.getResponse();      
	        response.setCharacterEncoding("UTF-8");      
	        response.getWriter().write(content);      
	   }
}

0
0
分享到:
评论

相关推荐

    struts2 action 返回json方法(一)源码

    在实际开发中,可能需要处理更复杂的情况,如分页、过滤、排序等,此时可以利用Struts2的动态结果集或者自定义拦截器来实现。通过深入理解和实践,你将能够熟练地在Struts2框架下构建高效的数据交互接口。

    Struts2项目代码

    4. **结果类型(Result)**:Action执行后会返回一个结果,Struts2支持多种结果类型,如dispatcher(转发到JSP页面)、stream(处理文件下载)等。结果类型在Action类的execute方法中通过返回值或注解指定。 5. **...

    struts2-json-plugin源码

    1. **Action结果类型**:在Struts2中,Action的结果类型决定了如何处理Action的返回值。`struts2-json-plugin`添加了JSON结果类型,当Action返回此类型时,会将结果转换为JSON格式。 2. **JSONResult类**:这是实现...

    json+struts2的jar

    4. **Action类的返回值**:为了返回JSON数据,Action类的方法需要返回一个可以被转换成JSON的对象。这个对象可以是自定义的Java类,类的属性对应JSON的键值对。 5. **Interceptor(拦截器)**:Struts2的拦截器机制...

    struts2-json

    使用Struts2的JSON功能时,需要注意安全问题。由于JSON可以暴露敏感信息,应避免在JSON响应中包含敏感数据。此外,Struts2的JSON漏洞曾引起广泛关注,因此保持框架版本的更新至关重要,以修复可能的安全漏洞。 8. ...

    struts2PreResultListener接口

    在Struts2配置文件(struts.xml)中,你需要将自定义的监听器添加到Action或全局拦截器栈中: ```xml &lt;package name="default" namespace="/" extends="struts-default"&gt; &lt;!-- 添加自定义预结果监听器 --&gt; ...

    json struts2转换

    1. **配置JSON支持**:要在Struts2中启用JSON响应,首先需要在`struts.xml`配置文件中添加JSON插件的相关配置。这通常涉及到注册一个全局结果类型`json`,例如: ```xml &lt;constant name="struts.action.extension" ...

    struts2面试题

    ### Struts2 面试知识点详解 #### Struts2框架概述 1. **Struts2与Servlet API的关系**:Struts2是一个基于Servlet API构建的MVC框架,它为Web应用程序提供了一种灵活的方式来组织代码。Struts2通过封装Servlet ...

    struts2 资料 struts2 资料 struts2 资料

    开发者需要及时更新Struts2的版本,应用安全补丁,并遵循最佳实践,例如限制对Action的访问、使用参数化查询防止SQL注入等。 **Struts2与其他框架的集成** Struts2可以轻松与Spring、Hibernate等其他Java框架集成...

    struts2介绍

    开发第一个Struts2程序,需要配置web.xml,添加Struts2的过滤器,编写Action类,创建配置文件struts.xml,以及编写JSP页面。Action类中的方法返回字符串,指示视图的跳转路径。配置文件用于定义Action的映射和相关...

    struts2ajax

    Struts2是一个强大的Java web框架,它为开发者提供了构建MVC(模型-视图-控制器)应用程序的结构。...这三个例子将覆盖基本的Ajax请求、使用Struts2插件以及自定义Ajax处理等方面,对于初学者来说是很好的学习资源。

    Struts2 2.3.24开发文档

    然而,Struts2也曾经因为某些漏洞而引发过安全问题,因此开发者在使用时需要注意及时更新到最新稳定版,以确保应用的安全性。 总的来说,Struts2 2.3.24开发文档涵盖了框架的核心概念、配置方法、标签库的使用、...

    struts2.5.13和struts2.3.34的源码包

    这些源码对于深入理解Struts2的工作原理、自定义拦截器、插件开发以及问题排查具有重要意义。 首先,Struts2.5.13是Struts2的一个较新版本,它引入了若干改进和增强,包括对Java EE 8的支持、错误处理的优化、性能...

    STRUTS2:零配置插件CodeBehind

    通过实现`getModel()`方法返回模型对象,Struts2可以在处理请求时直接使用该对象。 ##### 4.2 Prepareable接口 实现`Prepareable`接口可以允许开发者在Action执行之前做一些准备工作,如初始化表单数据等。 #### ...

    Struts2_JSON_Demo

    1. **Struts2 JSON插件**:Struts2提供了内置的JSON插件,允许我们直接将Action的返回值转换为JSON格式。安装并配置该插件后,只需在Action类的方法上添加`@Result(type="json")`注解,即可启用JSON响应。 2. **...

    一个简单的 struts2-json 实例

    需要注意的是,Struts2 JSON插件还支持自定义JSON配置,例如排除某些字段、设置日期格式等。同时,我们还可以通过拦截器或自定义结果类型来扩展其功能,以满足更复杂的业务需求。 总的来说,Struts2结合JSON插件...

    Struts2详细分类流程API文档

    Struts2是一款强大的Java web开发框架,用于构建可维护、高性能的企业级应用程序。它基于Model-View-Controller(MVC)设计模式,提供了一种结构化的应用开发方式,简化了从前端到后端的交互流程。这个“Struts2详细...

    jfreechart 与struts2的柱状图以及折线图例子

    在Struts2中,我们可以将HttpServletResponse的OutputStream绑定到Action的返回值上,这样图表就会被直接输出到浏览器。 4. **Struts2结果类型配置**: 在Struts2的配置文件中,我们需要定义一个结果类型,指定当...

    struts2和freemarker整合

    4. **Action返回值**:Action类的execute方法返回一个结果字符串,对应于FreeMarker模板文件的路径。 5. **数据绑定**:在Action类中设置需要传递给视图的数据,这些数据将在FreeMarker模板中被引用。 6. **模板编写...

    Struts2小程序源代码

    1. **Action**: 在Struts2中,Action是业务逻辑的载体,它负责处理用户的请求并返回结果。`Struts2_0300_Action`可能包含一个或多个Action类的源代码,展示了如何定义Action类、处理方法以及如何与视图层交互。...

Global site tag (gtag.js) - Google Analytics