我正在研究struts2 JSR 286 portlet,并且必须实现文件上载功能。
我正在使用fileupload struts2标记,在action类中使用等效的setter和getter方法。
但是我无法在上传JSP中的Click of Submit按钮上的Action类中接收文件参数及其内容。
有谁能告诉我fileupload标签是否支持struts2 portlet?
我正在使用struts 2.3.20.3版本。
以下是我的代码:
这是我的Struts2 Portlet
<portlet id="MyPortlet">
<description xml:lang="EN">My Portlet</description>
<portlet-name>MyPortlet</portlet-name>
<display-name xml:lang="EN">my-portlet</display-name>
<portlet-class>org.apache.struts2.portlet.dispatcher.Jsr286Dispatcher</portlet-class>
我的JSP页面
<s:form action="doUpload" method="post" enctype="multipart/form-data">
<s:file name="upload" label="File"/>
<s:submit/>
行动类:
public class UploadAction extends ActionSupport {
private File file;
private String contentType;
private String filename;
public void setUpload(File file) {
this.file = file;
}
public void setUploadContentType(String contentType) {
this.contentType = contentType;
}
public void setUploadFileName(String filename) {
this.filename = filename;
}
public String execute() {
//...
return SUCCESS;
}
struts.xml中:
<package name="default" extends="struts-portlet-default" namespace="/">
<action name="doUpload" class="com.example.UploadAction">
<result name="success">upload_success.jsp</result>
</action>
</package>