一、準備
1 、確保有 struts 運行環境;
2 、下載 newxy1.04.zip 或更高版。解壓,將 newxy1.04.jar 或更高版類庫拷到 WEB-INF/lib 下,將 newxy-html.tld 、 newxy-logic.tld 、 newxy-bean.tld 三個標簽定義文件拷到 WEB-INF/ 目錄下,將 newxy.properties 文件拷到 WEB-INF/classes 下,并根據需要進行設置;
3 、建一 jsp 文件,如 upload.jsp
二、
jsp
文件?
???????????????????????? <%@ page contentType="text/html; charset=GBK" %>
????????????????? ?????? <%@ tagliburi="/WEB-INF/newxy-html.tld" prefix="nhtml"%>
???????????????????????? <%@ tagliburi="/WEB-INF/newxy-logic.tld" prefix="nlogic"%>
<nlogic:action1 id="act1" formName="fileForm"/>
<nhtml:form action="" formName="fileForm" enctype="multipart/form-data">
?
數據庫表名:
<input type="text" name="_table" size="40"/><br />
?
說明:
<input type="text" name="explain" size="40"/><br />
?
不大于
1024K
:
<nhtml:file property="field1" size="40" maxSize="1024"/><br />
?
不大于
1024K
:
<nhtml:file property="field2" size="40" maxSize="1024"/><br />
</nhtml:form>
<nhtml:buttonactionId="act1" method="update"/>
三、說明
上傳多個文件只需加入多個<nhtml:file />標簽,可以不寫 java 代碼。
1
、
_table
為保留屬性,其值是數據庫表名。
2
、
newxy
(
新坐標
)
實現文件上傳至數據庫,可以同時保存文件名、文件類型、大小、擴展名等信息。
標簽<nhtml:file />詳解
文件名:
上傳的文件名保存到某字段中,保存文件名的字段名由
<nhtml:file/>
標簽
fileNameField
元素值指定。
文件大小:
上傳的文件大小保存到某字段中,保存文件大小的字段名由
<nhtml:file/>
標簽
fileSizeField
元素值指定。本例上傳文件不大于
1024K
文件類型:
上傳的文件類型保存到某字段中,保存文件類型的字段名由
<nhtml:file/>
標簽
fileTypeField
元素值指定。
文件擴展名:
上傳的文件擴展名保存到某字段中,保存文件擴展名的字段名由
<nhtml:file/>
標簽
fileExtendNameField
元素值指定。
限制類型:
上傳文件的限制類型由
<nhtml:file/>
標簽
fileLimit
元素值指定。如
fileLimit
="jsp"
,只能上傳
jsp
文件。本例不限制。
3
、
property
屬性值是保存文件內容的字段名。
4 、上傳文件大小由 maxSize 屬性值確定,本例可同時上傳二個文件,上傳文件不大于 1024K 。理論上同時上傳文件數量不限,上傳成功與否會提示給用戶。如果 maxSize 為空,最大值不大于 struts 設置的最大值,默認最大值為 250M 。
5
、標簽
<nhtml:form action="" formName="fileForm" />
的
action
屬性是空值,表明以當前路徑作為
頁面表單的
action
值。
formName
屬性值與標簽
<nlogic:action1 id="act1" formName="fileForm"/>
的
formName
屬性值相同。
6 、標簽 <nlogic:action1 id="act1" formName="fileForm"/> 產生靜態頁面的 javascript 函數: act1 Update( ...){...} 。點擊“文件上傳”按鈕將調用這個函數。結果是將數據提交上來由標簽 nlogic:action1 id="act1" formName="fileForm"/> 來處理,將文件內容寫到數據庫的字段中。
7
、標簽
<nhtml:buttonactionId="act1" method="update" value=”
文件上傳
”
/>
的
onclick
事件調用
act1
Update()
方法。?
??????? 另見《newxy新坐標多文件上傳(上傳至文件夾)》
????? 新坐標技術網站:http://www.newxy.net