struts开发实践—读写xml实例(下) 
继续代码实例: 
/************PrintReadAction.java代码Begin****************************/ 
package test; 
import org.apache.struts.action.*; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import javax.servlet.ServletException; 
import java.io.IOException; 
/** 
 * 读取print.xml的字段信息,供选择 
 */ 
public class PrintReadAction extends Action { 
  public ActionForward perform(ActionMapping mapping,ActionForm form, 
    HttpServletRequest request,HttpServletResponse response) 
      throws IOException,ServletException { 
      ActionErrors errors = new ActionErrors(); 
      String[] ifPrint=null; 
      String path=request.getRealPath("/")+"/WEB-INF/print.xml"; 
      try { 
        ReadWritePrintXML readwrite=new ReadWritePrintXML(); 
        Collection colField = readwrite.readXMLFile(path); 
        request.setAttribute(BeanNames.TABLEFIELD_LIST, colField); 
        return mapping.findForward("success"); 
    } 
    catch (Throwable e) { 
      e.printStackTrace(); 
      ActionError error = new ActionError(e.getMessage()); 
      errors.add(ActionErrors.GLOBAL_ERROR, error); 
  
    } 
    saveErrors(request,errors); 
    return new ActionForward(mapping.getInput()); 
    } 
} 
/************PrintReadAction.java代码End******************************/ 
/************PrintSetAction.java代码Begin*****************************/ 
package test; 
import org.apache.struts.action.*; 
import javax.servlet.http.*; 
import javax.servlet.*; 
import java.io.*; 
import java.util.*; 
/** 
 * 打印字段设置回写print.xml文件 
 */ 
public class PrintSetAction extends Action { 
  public ActionForward perform(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) 
  throws ServletException, IOException{ 
   ActionErrors errors = new ActionErrors(); 
   String[] multiSelect=request.getParameterValues("multiSelect"); 
   ArrayList colField=null; 
   String path=request.getRealPath("/")+"/WEB-INF/print.xml"; 
   try{ 
     ReadWritePrintXML readwrite = new ReadWritePrintXML(); 
     readwrite.initialXMLFile(path); 
     readwrite.writeXMLFile(multiSelect,path); 
     return null; 
   } 
   catch (Throwable e) { 
     e.printStackTrace(); 
     ActionError error = new ActionError(e.getMessage()); 
     errors.add(ActionErrors.GLOBAL_ERROR, error); 
   } 
   saveErrors(request, errors); 
   return new ActionForward(mapping.getInput()); 
 } 
} /****************PrintSetAction.java代码End******************************/ 
 
  |