【Java开源代码栏目提醒】:网学会员--在 Java开源代码编辑为广大网友搜集整理了:CSVResult.java绩等信息,祝愿广大网友取得需要的信息,参考学习。
package cn.hxex.struts.core.result.result;
import java.io.PrintWriter;
import java.nio.charset.Charset;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts2.StrutsStatics;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.Result;
import com.opensymphony.xwork2.util.ValueStack;
@SuppressWarnings("serial")
public class CSVResult implements Result {
private static final Log _log = LogFactory.getLog(CSVResult.class);
private String charSet;
private String fields;
private String property;
public String getProperty() {
return property;
}
public void setProperty(String property) {
this.property = property;
}
public String getCharSet() {
return charSet;
}
public void setCharSet(String charSet) {
this.charSet = charSet;
}
public String getFields() {
return fields;
}
public void setFields(String fields) {
this.fields = fields;
}
@Override
public void execute(ActionInvocation invocation) throws Exception {
// verify charset
Charset charset = null;
if (charSet != null) {
if (Charset.isSupported(charSet)) {
charset = Charset.forName(charSet);
}
else {
_log.warn("charset ["+charSet+"] is not recognized ");
charset = null;
}
}
HttpServletResponse response = (HttpServletResponse) invocation.getInvocationContext().get(StrutsStatics.HTTP_RESPONSE);
if (charset != null) {
response.setContentType("text/plain; charset="+charSet);
}
else {
response.setContentType("text/plain");
}
response.setHeader("Content-Disposition", "inline");
PrintWriter writer = response.getWriter();
ValueStack stack = invocation.getStack();
Integer size = (Integer)stack.findValue( property + ".size" );
for( int i=0; i<size.intValue(); i++ ) {
String[] fieldArray = fields.split( "," );
for( int j=0; j<fieldArray.length; j++ ) {
writer.write( stack.findString( property + "[" + i + "]." + fieldArray[j] ) );
if( j!=fieldArray.length-1 ) writer.write( "," );
}
writer.write( "\n" );
}
writer.flush();
writer.close();
}
}
上一篇:
CSVAction.java
下一篇:
4种小菜缓解孕妈咪不适