锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产成人免费视频,欧美日本久久,欧美在线wwwhttp://www.aygfsteel.com/blueoxygen/category/3743.htmlBlue keywords,Green comment,Red breakpoint,my life is also colorfulzh-cnSat, 03 Mar 2007 09:22:44 GMTSat, 03 Mar 2007 09:22:44 GMT60[collection]struts download Actionhttp://www.aygfsteel.com/blueoxygen/archive/2005/12/07/22894.htmlBlueO2BlueO2Wed, 07 Dec 2005 09:21:00 GMThttp://www.aygfsteel.com/blueoxygen/archive/2005/12/07/22894.htmlhttp://www.aygfsteel.com/blueoxygen/comments/22894.htmlhttp://www.aygfsteel.com/blueoxygen/archive/2005/12/07/22894.html#Feedback0http://www.aygfsteel.com/blueoxygen/comments/commentRss/22894.htmlhttp://www.aygfsteel.com/blueoxygen/services/trackbacks/22894.html/* * $Id: DownloadAction.java 164530 2005-04-25 03:11:07Z niallp $ * * Copyright 2004-2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */
/** * This is an abstract base class that minimizes the amount of special coding * that needs to be written to download a file. All that is required to use * this class is to extend it and implement the <code>getStreamInfo()</code> * method so that it returns the relevant information for the file (or other * stream) to be downloaded. Optionally, the <code>getBufferSize()</code> * method may be overridden to customize the size of the buffer used to * transfer the file. * * @since Struts 1.2.6 */ publicabstractclass DownloadAction extendsAction{
/** * If the <code>getBufferSize()</code> method is not overridden, this is * the buffer size that will be used to transfer the data to the servlet * output stream. */ protectedstaticfinalint DEFAULT_BUFFER_SIZE = 1024 * 4;
/** * Returns the information on the file, or other stream, to be downloaded * by this action. This method must be implemented by an extending class. * * @param mapping The ActionMapping used to select this instance. * @param form The optional ActionForm bean for this request (if any). * @param request The HTTP request we are processing. * @param response The HTTP response we are creating. * * @return The information for the file to be downloaded. * * @throws Exception if an exception occurs. */ protectedabstract StreamInfo getStreamInfo(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throwsException;
/** * Returns the size of the buffer to be used in transferring the data to * the servlet output stream. This method may be overridden by an extending * class in order to customize the buffer size. * * @return The size of the transfer buffer, in bytes. */ protectedint getBufferSize(){ return DEFAULT_BUFFER_SIZE; }
/** * Process the specified HTTP request, and create the corresponding HTTP * response (or forward to another web component that will create it). * Return an <code>ActionForward</code> instance describing where and how * control should be forwarded, or <code>null</code> if the response has * already been completed. * * @param mapping The ActionMapping used to select this instance. * @param form The optional ActionForm bean for this request (if any). * @param request The HTTP request we are processing. * @param response The HTTP response we are creating. * * @throws Exception if an exception occurs. */ public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throwsException{
// Tell Struts that we are done with the response. returnnull; }
/** * Copy bytes from an <code>InputStream</code> to an * <code>OutputStream</code>. * * @param input The <code>InputStream</code> to read from. * @param output The <code>OutputStream</code> to write to. * * @return the number of bytes copied * * @throws IOException In case of an I/O problem */ publicint copy(InputStream input, OutputStream output) throwsIOException{ byte[] buffer = newbyte[getBufferSize()]; int count = 0; int n = 0; while(-1 != (n = input.read(buffer))){ output.write(buffer, 0, n); count += n; } return count; }
/** * The information on a file, or other stream, to be downloaded by the * <code>DownloadAction</code>. */ publicstaticinterface StreamInfo {
/** * Returns the content type of the stream to be downloaded. * * @return The content type of the stream. */ publicabstractString getContentType();
/** * Returns an input stream on the content to be downloaded. This stream * will be closed by the <code>DownloadAction</code>. * * @return The input stream for the content to be downloaded. */ publicabstractInputStream getInputStream()throwsIOException; }
/** * A concrete implementation of the <code>StreamInfo</code> interface which * simplifies the downloading of a file from the disk. */ publicstaticclass FileStreamInfo implements StreamInfo {
/** * The content type for this stream. */ privateString contentType;
/** * The file to be downloaded. */ privateFile file;
/** * Constructs an instance of this class, based on the supplied * parameters. * * @param contentType The content type of the file. * @param file The file to be downloaded. */ public FileStreamInfo(String contentType, File file){ this.contentType = contentType; this.file = file; }
/** * Returns the content type of the stream to be downloaded. * * @return The content type of the stream. */ publicString getContentType(){ returnthis.contentType; }
/** * A concrete implementation of the <code>StreamInfo</code> interface which * simplifies the downloading of a web application resource. */ publicstaticclass ResourceStreamInfo implements StreamInfo {
/** * The content type for this stream. */ privateString contentType;
/** * The servlet context for the resource to be downloaded. */ private ServletContext context;
/** * The path to the resource to be downloaded. */ privateString path;
/** * Constructs an instance of this class, based on the supplied * parameters. * * @param contentType The content type of the file. * @param context The servlet context for the resource. * @param path The path to the resource to be downloaded. */ public ResourceStreamInfo(String contentType, ServletContext context, String path){ this.contentType = contentType; this.context = context; this.path = path; }
/** * Returns the content type of the stream to be downloaded. * * @return The content type of the stream. */ publicString getContentType(){ returnthis.contentType; }
/** * Returns an input stream on the resource to be downloaded. This stream * will be closed by the <code>DownloadAction</code>. * * @return The input stream for the resource to be downloaded. */ publicInputStream getInputStream()throwsIOException{ return context.getResourceAsStream(path); } } }
]]>鎵撶牬紲炶瘽http://www.aygfsteel.com/blueoxygen/archive/2005/10/08/14978.htmlBlueO2BlueO2Sat, 08 Oct 2005 04:13:00 GMThttp://www.aygfsteel.com/blueoxygen/archive/2005/10/08/14978.htmlhttp://www.aygfsteel.com/blueoxygen/comments/14978.htmlhttp://www.aygfsteel.com/blueoxygen/archive/2005/10/08/14978.html#Feedback0http://www.aygfsteel.com/blueoxygen/comments/commentRss/14978.htmlhttp://www.aygfsteel.com/blueoxygen/services/trackbacks/14978.html鎰熻Struts鏍囩澶箒鐞愪簡錛屾兂鐢?struts+velocity ,浣嗘槸欏甸潰濡傛灉娌℃湁html:form絳塻truts鏍囩錛岄〉闈㈢殑form elements 鏄惁鑳借祴鍊煎埌formbean涓紝formbean涓殑validate鏂規硶鏄惁榪樻湁鏁堛?BR>banq鐨勭悊瑙o細 褰撶劧涓嶄細鏈夋晥銆傛瘡涓瓧孌靛疄闄呮槸閫氳繃錛?/FONT> <html:text name="ACTIONFORM鍚嶇О" propert="" 鍏朵腑name寰堥噸瑕侊紝鎸囧畾浜嗕嬌鐢ㄥ摢涓狝ctionForm銆?BR>淇虹粰涓В絳旓紝涔熻鎸囧嚭涓嶈凍鍜岀悊瑙d笂鐨勫亸棰囷細 name:The attribute name of the bean whose properties are consulted when rendering the current value of this input field. If not specified, the bean associated with the form tag we are nested within is utilized. Any JavaBean can be used with the Struts JSP tags to populate a control. But to provide automatic validation of the input, Struts uses its own JavaBean subclass,called the ActionForm. The ActionForm solution The Struts solution to HTTP parameter handling is to transform the input fields into JavaBean properties. When a property on the ActionForm matches a parameter in the request, the framework automatically sets the property to the value of the parameter. A Struts developer can work with a trusty JavaBean and leave the HTTP rigmarole to the framework.To harvest request parameters, all the Struts developer needs to do is provide an ActionForm with JavaBean properties that match the names of the HTTP parameters. The rest is automatic. 鍏蜂綋濡備綍automatic瑙f瀽錛孉ctionForm濡備綍琚帶鍒訛紝鏈夌┖鍐嶅啓錛屾瘯绔焥truts鐮旂┒鐨勭郴鍒楀績寰楁墠榪涜浜嗗緢灝戠瘒blog錛岀幇鍦ㄥ繖鐫webwork2 hibernate spring