posts - 25,comments - 0,trackbacks - 0
 1         <dl>
 2             <dt><hi:text key="照片" entity="Resume"/></dt>
 3             <dd>
 4                 <input type="hidden" name="resume.photo_attachment.id" value="${resume.photo_attachment.id}"/>
 5                 <input type="text" class="textInput" name="resume.hi_photo_attachment.fileName" value="${resume.photo_attachment.fileName}" readonly="readonly"/>
 6                 <class="btnAttach" href="<hi:url>attachmentLookup.action?lookup=1&from=attachment&saveType=1</hi:url>" lookupGroup="resume" lookupName="photo_attachment" width="560" height="300" title="<hi:text key="附件"/>"><hi:text key="附件"/></a>
 7                 <c:if test="${not empty resume.photo_attachment}">
 8                 <class="btnView" href="attachmentView.action?attachment.id=${resume.photo_attachment.id}" target="_blank">
 9                     <hi:text key="查看"/>
10                 </a>
11                 </c:if>            
12             </dd>
13         </dl>

 1 <%@ page language="java" contentType="text/html; charset=utf-8"%>
 2 <%@ include file="/includes/main.jsp"%>
 3 
 4 <%
 5 String attachDesc = request.getParameter("from");
 6 if (attachDesc == null )
 7     attachDesc = "attachment";
 8 String attachmentType= request.getParameter("saveType");
 9 if (attachmentType== null )
10     attachmentType ="1";
11 %>
12 
13 <h2 class="contentTitle">请选择需要上传的附件</h2>
14 <form name="saveForm" action="attachmentSave.action?ajax=0" method="post" enctype="multipart/form-data" class="pageForm required-validate" onsubmit="return iframeCallback(this, $.bringBack)">
15 
16 
17 <input type="hidden" name="attachment.attachDesc" value="<%=attachDesc%>" />
18 <input type="hidden" name="attachment.attachmentType" value="<%=attachmentType%>" />
19 <input type="hidden" name="attachment.id" value="${attachment.id}"/>
20 <input type="hidden" name="attachment.version" value="${attachment.version}"/>
21 
22 <div class="pageContent">
23     <div class="pageFormContent" layoutH="97">
24         <dl>
25             <dt>附件:</dt><dd><input type="file" name="image" class="required" size="30" /></dd>
26         </dl>
27     </div>
28     <div class="formBar">
29         <ul>
30             <li><div class="buttonActive"><div class="buttonContent"><button type="submit">上传</button></div></div></li>
31             <li><div class="button"><div class="buttonContent"><button type="button" onclick="javascript:$.bringBack({id:'-1', fileName:'', attachmentPath:'',attachmentSize:'',imageICO:''})"><hi:text key="重置"/></button></div></div></li>
32         </ul>
33     </div>
34 </div>
35 </form>
36 


  1 package org.hi.common.attachment.action.struts;
  2 
  3 import java.io.File;
  4 import java.util.List;
  5 
  6 import org.hi.SpringContextHolder;
  7 import org.hi.framework.HiConfigHolder;
  8 import org.hi.framework.paging.PageInfo;
  9 import org.hi.framework.web.BusinessException;
 10 import org.hi.framework.web.PageInfoUtil;
 11 import org.hi.framework.web.struts.BaseAction;
 12 import org.hi.i18n.util.I18NUtil;
 13 
 14 import org.hi.common.attachment.action.AttachmentPageInfo;
 15 import org.hi.common.attachment.action.cust.FtpUtil;
 16 import org.hi.common.attachment.model.Attachment;
 17 import org.hi.common.attachment.service.AttachmentManager;
 18 
 19 public class AttachmentAction extends BaseAction{
 20     
 21     private Attachment attachment;
 22     private AttachmentPageInfo pageInfo;
 23     private List<Attachment> attachments;
 24     private String orderIndexs;
 25     
 26     private File image;
 27     private String imageFileName;
 28     /**
 29      * 上传文件的文件类型
 30      */
 31     private String imageContentType;
 32     
 33     /**
 34      * 设置上传文件的大小
 35      */
 36     private   String maxSize= HiConfigHolder.getProperty("hi.upload.ftp.maxSize") == null ? "100" : HiConfigHolder.getProperty("hi.upload.ftp.maxSize");
 37     /**
 38      * 新增/修改保存附件
 39      */
 40     public String saveAttachment() throws Exception {
 41         AttachmentManager attachmentMgr = (AttachmentManager)SpringContextHolder.getBean(Attachment.class);
 42         if(super.perExecute(attachment)!= null) return returnCommand();
 43         
 44         if (image != null) {
 45             if (image.length()/1024d/1024d > new Double(maxSize))
 46                 throw new BusinessException(I18NUtil.getStringByParameter("上传文件过大", "Attachment", maxSize));
 47             
 48             String imagePath = "";
 49             if (attachment.getAttachmentType() == 2)
 50                 imagePath = FtpUtil.getFtpUploadClient().saveFileToFTP(image, imageFileName,attachment.getAttachDesc());
 51             else
 52                 imagePath =  FtpUtil.getOSFileClient().saveFile(image, imageFileName,attachment.getAttachDesc());
 53             
 54             attachment.setAttachmentPath(imagePath);
 55             attachment.setFileSize( image.length()/1024d ); 
 56             attachment.setFileType(imageContentType);
 57             attachment.setFileName(imageFileName);
 58             attachmentMgr.saveObject(attachment);
 59         }
 60         
 61     
 62         super.postExecute(attachment);
 63         return returnCommand();
 64     }
 65     
 66     
 67     /**
 68      * 删除附件
 69      */
 70     public String removeAttachment() throws Exception {
 71         AttachmentManager attachmentMgr = (AttachmentManager)SpringContextHolder.getBean(Attachment.class);
 72         attachmentMgr.removeAttachmentById(attachment.getId());
 73         return returnCommand();
 74     }
 75     
 76     /**
 77      * 删除指定的某些附件
 78      */
 79     public String removeAllAttachment() throws Exception {
 80         AttachmentManager attachmentMgr = (AttachmentManager)SpringContextHolder.getBean(Attachment.class);
 81         if (orderIndexs != null && orderIndexs.length()> 0 )
 82         {
 83             String[] ids= orderIndexs.split(",");
 84             for( int i=0; i<ids.length; i++)
 85             {
 86                 if (ids[i].length()>0)
 87                 {
 88                 Integer attachmentid = new Integer( ids[i] );
 89                 attachmentMgr.removeAttachmentById(attachmentid);
 90                 }
 91             }
 92         }
 93         
 94         return returnCommand();
 95     }
 96     
 97     /**
 98      *查看附件
 99      */
100     public String viewAttachment() throws Exception {
101         AttachmentManager attachmentMgr = (AttachmentManager)SpringContextHolder.getBean(Attachment.class);
102         attachment = attachmentMgr.getAttachmentById(attachment.getId());
103         return returnCommand();
104     }
105     
106     /**
107      * 附件列表
108      */
109     public String attachmentList() throws Exception {
110         AttachmentManager attachmentMgr = (AttachmentManager)SpringContextHolder.getBean(Attachment.class);
111         pageInfo = pageInfo == null ? new AttachmentPageInfo() : pageInfo;
112         PageInfo sarchPageInfo = PageInfoUtil.populate(pageInfo, this);
113         
114         attachments = attachmentMgr.getAttachmentList(sarchPageInfo);
115         
116         return returnCommand();    
117     }
118     
119     
120     
121     
122     public Attachment getAttachment() {
123         return attachment;
124     }
125 
126     public void setAttachment(Attachment attachment) {
127         this.attachment = attachment;
128     }
129     
130     public List<Attachment> getAttachments() {
131         return attachments;
132     }
133 
134     public void setAttachments(List<Attachment> attachments) {
135         this.attachments = attachments;
136     }
137 
138     public AttachmentPageInfo getPageInfo() {
139         return pageInfo;
140     }
141 
142     public void setPageInfo(AttachmentPageInfo pageInfo) {
143         this.pageInfo = pageInfo;
144     }    
145     
146     public String getOrderIndexs() {
147         return orderIndexs;
148     }
149 
150     public void setOrderIndexs(String orderIndexs) {
151         this.orderIndexs = orderIndexs;
152     }
153 
154 
155     public File getImage() {
156         return image;
157     }
158 
159 
160     public void setImage(File image) {
161         this.image = image;
162     }
163 
164 
165     public String getImageFileName() {
166         return imageFileName;
167     }
168 
169 
170     public void setImageFileName(String imageFileName) {
171         this.imageFileName = imageFileName;
172     }
173 
174 
175     public String getImageContentType() {
176         return imageContentType;
177     }
178 
179 
180     public void setImageContentType(String imageContentType) {
181         this.imageContentType = imageContentType;
182     }
183 
184 
185     public String getMaxSize() {
186         return maxSize;
187     }
188 
189 
190     public void setMaxSize(String maxSize) {
191         this.maxSize = maxSize;
192     }
193     
194     
195     
196 }
197 

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE struts PUBLIC
 3     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
 4     "http://struts.apache.org/dtds/struts-2.0.dtd">
 5 <struts>
 6     <package name="attachment" extends="hi" >
 7         <!-- ============= 附件对应的AttachmentAction============ --> 
 8 
 9         
10         <action name="attachmentSave"
11             class="org.hi.common.attachment.action.struts.AttachmentAction" method="saveAttachment">
12             <result name="success" >/attachment/AttachmentBrightBack.jsp</result>
13             <interceptor-ref name="modelStackUpload" />
14         </action>
15                     
16         <action name="attachmentView"
17             class="org.hi.common.attachment.action.struts.AttachmentViewAction">
18             <result name="success" type="stream">
19             <param name="inputName">inputStream</param>
20             <param name="contentType">${contentType}</param>
21             <param name="contentDisposition">filename="${fileName}"</param>
22             </result>
23             <interceptor-ref name="modelParamsStack" />
24         </action>        
25         
26         
27           <action name="attachmentLookup"
28             class="org.hi.common.attachment.action.struts.AttachmentAction" method="attachmentList">
29             <result name="success">/attachment/AttachmentList.jsp</result>
30             <interceptor-ref name="modelParamsStack" />
31         </action>        
32 
33 </package>
34 </struts>
posted on 2012-03-04 17:33 周磊 阅读(2924) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: