六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 46|回复: 0

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

[复制链接]

升级  42.67%

28

主题

28

主题

28

主题

秀才

Rank: 2

积分
114
 楼主| 发表于 2013-1-29 09:27:56 | 显示全部楼层 |阅读模式
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);         }}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表