<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 495,comments - 227,trackbacks - 0

    fileLoad.jsp

    代碼如下:

    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ page contentType="text/html; charset=GBK" %>
    <html:html>
    <head>
    <title>
    fileLoad.jsp
    </title>
    </head>
    <body>
    <h1>JBuilder Generated Struts JSP for ActionForm forms.LoadForm</h1>
    <p>
    <html:form action="/loadAction.do" method="POST" enctype="multipart/form-data">
    <html:file property="file"/><br />//對應于ActionFrom的FormFile file屬性。

    <html:submit property="submit" value="Submit"/>
    <html:reset value ="Reset"/>
    </html:form>
    <p>
    <logic:notEmpty name="loadForm" property="fname">
    ? name:<bean:write name="loadForm" property="fname"/>
    ? size:<bean:write name="loadForm" property="size"/>
    </logic:notEmpty>
    </p>
    </body>
    </html:html>
    LoadForm的代碼:

    package forms;

    import org.apache.struts.action.ActionForm;
    import org.apache.struts.upload.FormFile;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionMapping;
    import javax.servlet.http.HttpServletRequest;

    public class LoadForm extends ActionForm {
    ??? private FormFile file;
    ??? private String fname;
    ??? private String size;
    ??? public FormFile getFile() {
    ??????? return file;
    ??? }

    ??? public void setFile(FormFile file) {
    ??????? this.file = file;
    ??? }

    ??? public void setSize(String size) {
    ??????? this.size = size;
    ??? }

    ??? public void setFname(String fname) {
    ??????? this.fname = fname;
    ??? }

    ??? public String getFname() {
    ??????? return fname;
    ??? }

    ??? public String getSize() {
    ??????? return size;
    ??? }

    ??? public ActionErrors validate(ActionMapping actionMapping,
    ???????????????????????????????? HttpServletRequest httpServletRequest) {
    ??????????? /** @todo: finish this method, this is just the skeleton.*/
    ??????? return null;
    ??? }

    ??? public void reset(ActionMapping actionMapping,
    ????????????????????? HttpServletRequest servletRequest) {
    ??? }
    }
    LoginAction代碼如下:

    package actions;

    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionForm;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.ActionForward;
    import forms.LoadForm;
    import org.apache.struts.action.Action;
    import org.apache.struts.upload.FormFile;
    import java.io.*;
    public class LoadAction extends Action {
    ??? public ActionForward execute(ActionMapping actionMapping,
    ???????????????????????????????? ActionForm actionForm,
    ???????????????????????????????? HttpServletRequest servletRequest,
    ???????????????????????????????? HttpServletResponse servletResponse)throws Exception {
    ??????? LoadForm loadForm = (LoadForm) actionForm;
    ?????? FormFile ff=loadForm.getFile();
    ?????? if(ff==null)
    ?????? {
    ?????????? return actionMapping.findForward("success");
    ?????? }
    ?????? String fname=ff.getFileName();
    ?????? String size=Integer.toString(ff.getFileSize())+"bytes";
    ?????? InputStream in=ff.getInputStream();
    ?????? OutputStream out=new FileOutputStream("/"+fname);
    ?????? int bytesRead=0;
    ?????? byte[] buffer=new byte[8192];
    ?????? while((bytesRead=in.read(buffer,0,8192))!=-1)
    ?????? {
    ?????????? out.write(buffer,0,bytesRead);
    ?????? }
    ?????? out.close();
    ?????? in.close();
    ????? loadForm.setFname(fname);
    ????? loadForm.setSize(size);
    ????? ff.destroy();
    ????? return actionMapping.findForward("success");
    ????? }
    }

    struts-config.xml代碼:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
    <struts-config>
    ? <form-beans>
    ??? <form-bean name="loadForm" type="forms.LoadForm" />
    ? </form-beans>
    ? <action-mappings>
    ??? <action name="loadForm" path="/loadAction" scope="request" type="actions.LoadAction" input="/fileLoad.jsp">
    <forward name="success" path="/fileLoad.jsp">
    </forward>
    </action>? </action-mappings>
    </struts-config>

    說明:<html:file>標簽可以方便的實現文件上傳功能。

    有以下幾點需要注意:

    1: <html:file>必須嵌套在<html:form>標簽中。

    2:<html:form>標簽的method的屬性必須設為"post".

    3:<html:form>標簽的編碼類型enctype屬性必須為"multipart/form-data"。

    4:<html:file>標簽必須設為property屬性,這個屬性和ActionForm Bean中FormFile類型的屬性對應。

    posted on 2006-08-17 18:56 SIMONE 閱讀(340) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲av无码乱码国产精品 | 国产国产人免费人成成免视频| 亚洲成人精品久久| 皇色在线免费视频| 亚洲va在线va天堂va888www| 1000部拍拍拍18勿入免费视频下载 | 亚洲AV男人的天堂在线观看| 成全视频高清免费观看电视剧| av在线亚洲欧洲日产一区二区| 国产香蕉免费精品视频| 亚洲AV成人影视在线观看| 奇米影视亚洲春色| 一二三四在线观看免费高清中文在线观看 | 亚洲最大的成网4438| 国产亚洲成AV人片在线观黄桃| 日本免费一区二区三区最新| 人人玩人人添人人澡免费| 国产精品成人69XXX免费视频| 国产精品亚洲va在线观看| 亚洲另类古典武侠| 午夜在线a亚洲v天堂网2019| 亚洲理论片在线中文字幕| 4480yy私人影院亚洲| 色婷婷亚洲十月十月色天| 亚洲网址在线观看你懂的| 亚洲AV永久无码精品成人| 91精品国产亚洲爽啪在线影院| 亚洲精品国产精品乱码视色| 亚洲av无码专区国产乱码在线观看 | 日韩国产欧美亚洲v片| 日韩欧美亚洲国产精品字幕久久久| 亚洲AV无码成人精品区日韩 | 亚洲成Av人片乱码色午夜| 亚洲精品乱码久久久久久中文字幕| 国产AⅤ无码专区亚洲AV| 亚洲狠狠综合久久| 亚洲AV无码乱码在线观看代蜜桃 | 波多野结衣在线免费视频| 免费羞羞视频网站| 亚洲色精品88色婷婷七月丁香| 亚洲欧洲精品一区二区三区|