CodesJava

Easy learning with example program codes

Struts 2 s:file UI tag

<s:file>:

The <s:file> tag is used to create a HTML file upload component to browse and select a file from your machine and upload it to the server.

Syntax:

 <s:file name="fileName" label="fieldLabel"/>

Note: The FileUploadInterceptor is responsible for the whole functionality of s:file. It intercepts the user request with “multipart/form-data” enctype and automatically saves the selected file into the temp directory of the server. Uploaded file details like name and content type are auto injected by FileUploadInterceptor using set”XXX”FileName() and set”XXX”ContentType() methods. Set enctype of the form to “multipart/form-data”. It also provides the functionality to set the maximum size, filt type etc. 

Example:

test.jsp

<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
	<head>
		<title>Struts 2 s:file UI tags example</title>
	</head>
	<body>
		<h3>This is a s:file UI tags example.</h3>
 
		<s:form action="Test" 
                   enctype="multipart/form-data" method="POST">
			<s:file name="selectedDoc" label="Select file" />
			<s:submit value="Submit" align="center"/>
		</s:form>
 
	</body>
</html>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 
 
 	<filter>
	  <filter-name>struts2</filter-name>
	  <filter-class>
        	org.apache.struts2.dispatcher.ng.
        	filter.StrutsPrepareAndExecuteFilter
          </filter-class>
	</filter>
 
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
 
	<welcome-file-list>
	  <welcome-file>test.jsp</welcome-file>
	</welcome-file-list>
 
</web-app>

struts.xml

<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
 
<struts>
 
 <package name="default" extends="struts-default">			
	<action name="Test" class="com.codesjava.action.Test">
		<interceptor-ref name="defaultStack">
       		 <param name="allowedTypes">text/plain,image/jpeg</param>
  	   	</interceptor-ref> 
		<result name="success">/welcome.jsp</result>
		</action>
	</package>
 
</struts>

Test.java

import java.io.File;
import com.opensymphony.xwork2.ActionSupport;
 
/**
 * This class is used as an action class.
 * @author codesjava
 */
public class Test extends ActionSupport{
  //data members
  private File selectedDoc;
  private String selectedDocContentType;
  private String selectedDocFileName;
 
  //business logic
  public String execute(){
  	return SUCCESS;	
  }
 
  //getter setters
  public File getSelectedDoc() {
	return selectedDoc;
  }
 
  public void setSelectedDoc(File selectedDoc) {
 	this.selectedDoc = selectedDoc;
  }
 
  public String getSelectedDocContentType() {
	return selectedDocContentType;
  }
 
  public void setSelectedDocContentType(String selectedDocContentType) {
	this.selectedDocContentType = selectedDocContentType;
  }
 
  public String getSelectedDocFileName() {
	return selectedDocFileName;
  }
 
  public void setSelectedDocFileName(String selectedDocFileName) {
	this.selectedDocFileName = selectedDocFileName;
  }			
}

welcome.jsp

<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
	<head>
		<title>Struts 2 s:file UI tags example</title>
	</head>
	<body>
		<h3>This is a s:file UI tags example.</h3>
 
		File Name: <s:property value="selectedDocFileName" /><br/>
		File Content Type: <s:property value="selectedDocContentType"/>
                <br/>
		File: <s:property value="selectedDoc" />
 
	</body>
</html>

Output:

struts 35 first
 
Select file.
struts 35 second
 
Click on Submit button.
struts 35 final
 
Download this example.
 
Next Topic: Struts 2 s:doubleselect UI tag with example.
Previous Topic: Struts 2 s:combobox UI tag with example.

 

Please follow and like us:
error








Copyright © 2019 CodesJava DMCA.com Protection Status