Struts2 Portlet <s:file> fileupload标记在提交后在Action中给出null

时间:2016-07-20 18:09:03

标签: file-upload struts2 portlet

我正在研究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>

0 个答案:

没有答案