Този регистрационен формуляр съдържа качване на файл и текстови полета. Използвайки Struts2, как да изпратим параметрите на формуляра и също така да качим файла?
1. register.jsp
:
<s:form action = "Register" enctype="multipart/form-data" method="post">
<s:textfield name="uname" label = "User Name"/>
<s:password name ="password" label = "Password"/>
<s:file name="fileUpload" label="Select a File to upload" size="40" />
<s:submit/>
</s:form>
2. RegisterAction
:
package user.action;
import java.io.File;
public class RegisterAction
{
private String uname,password;
private File fileUpload;
private String fileUploadContentType;
private String fileUploadFileName;
//getter setters
public String execute() throws Exception
{
return "success";
}
}
3. struts.xml
:
</action>
<action name="Register" class="user.action.RegisterAction">
<interceptor-ref name="fileUpload">
<param name="allowedTypes">text/plain</param>
<param name="maximumSize">10240</param>
</interceptor-ref>
<result name="success">registered.jsp</result>
</action>
4. registered.jsp
:
User Name : <s:property value="uname"/>
File Name : <s:property value="fileUploadFileName"/>
Content Type : <s:property value="fileUploadContentType"/>
File : <s:property value="fileUpload"/>
Потребителско име <s:property value="uname"/>
не дава никакви резултати в registered.jsp
. Трябва ли да използваме качване на Apache файл, за да анализираме заявката, за да получим стойността на текстовите полета?