struts2返回值问题(需要返回自定义值)
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); }}
页:
[1]