You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2016/11/22 08:45:52 UTC

struts-examples git commit: Adds simple file upload example

Repository: struts-examples
Updated Branches:
  refs/heads/master 4264f901c -> d4619afd2


Adds simple file upload example


Project: http://git-wip-us.apache.org/repos/asf/struts-examples/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts-examples/commit/d4619afd
Tree: http://git-wip-us.apache.org/repos/asf/struts-examples/tree/d4619afd
Diff: http://git-wip-us.apache.org/repos/asf/struts-examples/diff/d4619afd

Branch: refs/heads/master
Commit: d4619afd2709c85c7a7b4deee4166bde72498bee
Parents: 4264f90
Author: Lukasz Lenart <lu...@gmail.com>
Authored: Tue Nov 22 09:45:37 2016 +0100
Committer: Lukasz Lenart <lu...@gmail.com>
Committed: Tue Nov 22 09:45:37 2016 +0100

----------------------------------------------------------------------
 file-upload/pom.xml                             | 40 ++++++++++++
 .../java/org/apache/struts/example/Upload.java  | 64 ++++++++++++++++++++
 file-upload/src/main/resources/log4j2.xml       | 15 +++++
 file-upload/src/main/resources/struts.xml       | 26 ++++++++
 file-upload/src/main/webapp/WEB-INF/upload.jsp  | 28 +++++++++
 file-upload/src/main/webapp/WEB-INF/web.xml     | 23 +++++++
 file-upload/src/main/webapp/index.html          | 10 +++
 pom.xml                                         |  1 +
 8 files changed, 207 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts-examples/blob/d4619afd/file-upload/pom.xml
----------------------------------------------------------------------
diff --git a/file-upload/pom.xml b/file-upload/pom.xml
new file mode 100644
index 0000000..b83e398
--- /dev/null
+++ b/file-upload/pom.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <artifactId>struts-examples</artifactId>
+        <groupId>org.apache.struts</groupId>
+        <version>1.0.0</version>
+    </parent>
+
+    <artifactId>file-upload</artifactId>
+
+    <name>File upload</name>
+    <description>Simple file upload example</description>
+    <packaging>war</packaging>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.mortbay.jetty</groupId>
+                <artifactId>jetty-maven-plugin</artifactId>
+                <version>8.1.16.v20140903</version>
+                <configuration>
+                    <stopKey>CTRL+C</stopKey>
+                    <stopPort>8999</stopPort>
+                    <scanIntervalSeconds>10</scanIntervalSeconds>
+                    <webAppSourceDirectory>${basedir}/src/main/webapp/</webAppSourceDirectory>
+                    <webAppConfig>
+                        <descriptor>${basedir}/src/main/webapp/WEB-INF/web.xml</descriptor>
+                    </webAppConfig>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/d4619afd/file-upload/src/main/java/org/apache/struts/example/Upload.java
----------------------------------------------------------------------
diff --git a/file-upload/src/main/java/org/apache/struts/example/Upload.java b/file-upload/src/main/java/org/apache/struts/example/Upload.java
new file mode 100644
index 0000000..a10c83d
--- /dev/null
+++ b/file-upload/src/main/java/org/apache/struts/example/Upload.java
@@ -0,0 +1,64 @@
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.struts.example;
+
+import com.opensymphony.xwork2.ActionSupport;
+
+import java.io.File;
+
+/**
+ * <code>Allows upload a file</code>
+ */
+public class Upload extends ActionSupport {
+
+    private File[] upload;
+    private String[] uploadFileName;
+    private String[] uploadContentType;
+
+    public String execute() throws Exception {
+        return INPUT;
+    }
+
+    public File[] getUpload() {
+        return upload;
+    }
+
+    public void setUpload(File[] upload) {
+        this.upload = upload;
+    }
+
+    public String[] getUploadFileName() {
+        return uploadFileName;
+    }
+
+    public void setUploadFileName(String[] uploadFileName) {
+        this.uploadFileName = uploadFileName;
+    }
+
+    public String[] getUploadContentType() {
+        return uploadContentType;
+    }
+
+    public void setUploadContentType(String[] uploadContentType) {
+        this.uploadContentType = uploadContentType;
+    }
+}

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/d4619afd/file-upload/src/main/resources/log4j2.xml
----------------------------------------------------------------------
diff --git a/file-upload/src/main/resources/log4j2.xml b/file-upload/src/main/resources/log4j2.xml
new file mode 100644
index 0000000..092d5f6
--- /dev/null
+++ b/file-upload/src/main/resources/log4j2.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Configuration>
+    <Appenders>
+        <Console name="STDOUT" target="SYSTEM_OUT">
+            <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
+        </Console>
+    </Appenders>
+    <Loggers>
+        <Logger name="com.opensymphony.xwork2" level="info"/>
+        <Logger name="org.apache.struts2" level="info"/>
+        <Root level="warn">
+            <AppenderRef ref="STDOUT"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/d4619afd/file-upload/src/main/resources/struts.xml
----------------------------------------------------------------------
diff --git a/file-upload/src/main/resources/struts.xml b/file-upload/src/main/resources/struts.xml
new file mode 100644
index 0000000..2e012c6
--- /dev/null
+++ b/file-upload/src/main/resources/struts.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE struts PUBLIC
+        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
+        "http://struts.apache.org/dtds/struts-2.5.dtd">
+<struts>
+    <constant name="struts.enable.DynamicMethodInvocation" value="false"/>
+    <constant name="struts.devMode" value="true"/>
+
+    <package name="default" namespace="/" extends="struts-default">
+
+        <default-action-ref name="index"/>
+
+        <action name="index">
+            <result type="redirectAction">
+                <param name="actionName">upload</param>
+            </result>
+        </action>
+
+        <action name="upload" class="org.apache.struts.example.Upload">
+            <result name="input">WEB-INF/upload.jsp</result>
+        </action>
+
+    </package>
+
+    <!-- Add addition packages and configuration here. -->
+</struts>

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/d4619afd/file-upload/src/main/webapp/WEB-INF/upload.jsp
----------------------------------------------------------------------
diff --git a/file-upload/src/main/webapp/WEB-INF/upload.jsp b/file-upload/src/main/webapp/WEB-INF/upload.jsp
new file mode 100644
index 0000000..247293a
--- /dev/null
+++ b/file-upload/src/main/webapp/WEB-INF/upload.jsp
@@ -0,0 +1,28 @@
+<%@ page contentType="text/html; charset=UTF-8" %>
+<%@ taglib prefix="s" uri="/struts-tags" %>
+<html>
+<head>
+    <title>File upload</title>
+</head>
+
+<body>
+
+<s:form action="upload" method="post" enctype="multipart/form-data">
+    <s:file name="upload"/>
+    <s:file name="upload"/>
+    <s:file name="upload"/>
+    <s:submit/>
+</s:form>
+
+<s:iterator value="upload" var="u">
+    <s:property value="u"/><br/>
+</s:iterator>
+<s:iterator value="uploadContentType" var="ct">
+    <s:property value="ct"/><br/>
+</s:iterator>
+<s:iterator value="uploadFileName" var="fn">
+    <s:property value="fn"/><br/>
+</s:iterator>
+
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/d4619afd/file-upload/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/file-upload/src/main/webapp/WEB-INF/web.xml b/file-upload/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..81f7594
--- /dev/null
+++ b/file-upload/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app id="struts_blank" version="2.4"
+         xmlns="http://java.sun.com/xml/ns/j2ee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+    <display-name>Struts Blank</display-name>
+
+    <filter>
+        <filter-name>struts2</filter-name>
+        <filter-class>
+            org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
+        </filter-class>
+    </filter>
+
+    <filter-mapping>
+        <filter-name>struts2</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+
+    <welcome-file-list>
+        <welcome-file>index.html</welcome-file>
+    </welcome-file-list>
+</web-app>

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/d4619afd/file-upload/src/main/webapp/index.html
----------------------------------------------------------------------
diff --git a/file-upload/src/main/webapp/index.html b/file-upload/src/main/webapp/index.html
new file mode 100644
index 0000000..89ec7f1
--- /dev/null
+++ b/file-upload/src/main/webapp/index.html
@@ -0,0 +1,10 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+    <META HTTP-EQUIV="Refresh" CONTENT="0;URL=upload.action">
+</head>
+
+<body>
+<p>Loading ...</p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/d4619afd/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 0b262e6..bef3bc8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -52,6 +52,7 @@
         <module>debugging-struts</module>
         <module>exception-handling</module>
         <module>exclude-parameters</module>
+        <module>file-upload</module>
         <module>form-processing</module>
         <module>form-tags</module>
         <module>form-validation</module>