From cdf6edcf271505e203ec83a97d69ec46430ecbca Mon Sep 17 00:00:00 2001 From: Mic Date: Tue, 11 Sep 2012 16:09:05 +0800 Subject: [PATCH] initial commit, includes working version of plain JSP and custom tags --- .gitignore | 4 + .project | 26 ++++ README | 10 ++ pom.xml | 138 ++++++++++++++++++ src/main/java/controller/UserController.java | 39 +++++ src/main/java/model/User.java | 24 +++ src/main/webapp/WEB-INF/app-config.xml | 23 +++ src/main/webapp/WEB-INF/tags/layout.tag | 20 +++ .../WEB-INF/view/jsp/01-plain/users.jsp | 1 + .../WEB-INF/view/jsp/02-custom-tags/users.jsp | 1 + src/main/webapp/WEB-INF/view/jsp/footer.jsp | 3 + src/main/webapp/WEB-INF/view/jsp/menu.jsp | 16 ++ src/main/webapp/WEB-INF/web.xml | 26 ++++ .../images/springsource_banner_green.png | Bin 0 -> 53205 bytes src/main/webapp/index.jsp | 15 ++ src/main/webapp/style/app.css | 19 +++ src/main/webapp/style/main.css | 7 + 17 files changed, 372 insertions(+) create mode 100644 .gitignore create mode 100644 .project create mode 100644 README create mode 100644 pom.xml create mode 100755 src/main/java/controller/UserController.java create mode 100755 src/main/java/model/User.java create mode 100755 src/main/webapp/WEB-INF/app-config.xml create mode 100644 src/main/webapp/WEB-INF/tags/layout.tag create mode 100755 src/main/webapp/WEB-INF/view/jsp/01-plain/users.jsp create mode 100755 src/main/webapp/WEB-INF/view/jsp/02-custom-tags/users.jsp create mode 100755 src/main/webapp/WEB-INF/view/jsp/footer.jsp create mode 100755 src/main/webapp/WEB-INF/view/jsp/menu.jsp create mode 100755 src/main/webapp/WEB-INF/web.xml create mode 100755 src/main/webapp/images/springsource_banner_green.png create mode 100755 src/main/webapp/index.jsp create mode 100755 src/main/webapp/style/app.css create mode 100755 src/main/webapp/style/main.css diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3189638 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +target/* +.settings/* +.classpath + diff --git a/.project b/.project new file mode 100644 index 0000000..b88d4b0 --- /dev/null +++ b/.project @@ -0,0 +1,26 @@ + + mvc-layout-samples + NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse. + + + + org.eclipse.jdt.core.javabuilder + + + org.eclipse.wst.common.project.facet.core.builder + + + org.eclipse.wst.validation.validationbuilder + + + org.springframework.ide.eclipse.core.springbuilder + + + + org.springframework.ide.eclipse.core.springnature + org.eclipse.wst.common.project.facet.core.nature + org.eclipse.jdt.core.javanature + org.eclipse.wst.common.modulecore.ModuleCoreNature + org.eclipse.jem.workbench.JavaEMFNature + + \ No newline at end of file diff --git a/README b/README new file mode 100644 index 0000000..9074c04 --- /dev/null +++ b/README @@ -0,0 +1,10 @@ +Before installing those samples please make sure that Maven and git have been installed and configured properly on your local system. + +You can do: + +git clone git@github.com:michaelisvy/ajax-samples.git +cd ajax-samples +mvn eclipse:eclipse + +Your project is now ready to be imported into Eclipse. +File -> Import -> Existing project into Eclipse \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..e4d8927 --- /dev/null +++ b/pom.xml @@ -0,0 +1,138 @@ + + 4.0.0 + + com.springsource.samples + mvc-layout-samples + 1.0-SNAPSHOT + war + + AjaxDemo + http://maven.apache.org + + + UTF-8 + 3.1.2.RELEASE + 2.2.2 + 1.7.0 + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 2.3.2 + + 1.6 + 1.6 + + + + org.apache.maven.plugins + maven-eclipse-plugin + 2.8 + + true + true + 2.0 + + **/*.* + + + + + + + + + + org.springframework + spring-webmvc + ${spring.framework.version} + + + + javax.servlet + servlet-api + 2.5 + provided + + + javax.servlet + jstl + 1.2 + + + + + + org.springframework + spring-tx + ${spring.framework.version} + + + commons-logging + commons-logging + + + + + + + + + + + org.springframework + spring-test + ${spring.framework.version} + test + + + + org.apache.tiles + tiles-jsp + ${tiles.version} + + + + junit + junit + 4.10 + test + + + + org.slf4j + jcl-over-slf4j + ${sl4j.version} + runtime + + + + org.slf4j + slf4j-api + ${sl4j.version} + runtime + + + + org.slf4j + slf4j-log4j12 + ${sl4j.version} + runtime + + + + log4j + log4j + 1.2.14 + runtime + + + + + + + diff --git a/src/main/java/controller/UserController.java b/src/main/java/controller/UserController.java new file mode 100755 index 0000000..1945c30 --- /dev/null +++ b/src/main/java/controller/UserController.java @@ -0,0 +1,39 @@ +package controller; + +import java.util.ArrayList; +import java.util.List; + +import model.User; + +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; + + +@Controller +public class UserController { + + @RequestMapping(value="/users/all/jsp-plain",method=RequestMethod.GET) + public String findUsersPlain(Model model){ + buildUserList(model); + return "01-plain/users"; + } + + @RequestMapping(value="/users/all/custom-tags",method=RequestMethod.GET) + public String findUsers(Model model){ + buildUserList(model); + return "02-custom-tags/users"; + } + + private void buildUserList(Model model) { + List users = new ArrayList(); + users.add(new User("Paul", "Chapman")); + users.add(new User("Mike", "Wiesner")); + users.add(new User("Mark", "Secrist")); + users.add(new User("Ken", "Krueger")); + model.addAttribute("users", users); + } + + +} diff --git a/src/main/java/model/User.java b/src/main/java/model/User.java new file mode 100755 index 0000000..56faa16 --- /dev/null +++ b/src/main/java/model/User.java @@ -0,0 +1,24 @@ +package model; + + +public class User { + + private String firstName; + + private String lastName; + + + public User(String firstName, String lastName) { + this.firstName = firstName; + this.lastName = lastName; + } + + public String getFirstName() { + return firstName; + } + + public String getLastName() { + return lastName; + } + +} diff --git a/src/main/webapp/WEB-INF/app-config.xml b/src/main/webapp/WEB-INF/app-config.xml new file mode 100755 index 0000000..2524f80 --- /dev/null +++ b/src/main/webapp/WEB-INF/app-config.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + diff --git a/src/main/webapp/WEB-INF/tags/layout.tag b/src/main/webapp/WEB-INF/tags/layout.tag new file mode 100644 index 0000000..d4aa0b8 --- /dev/null +++ b/src/main/webapp/WEB-INF/tags/layout.tag @@ -0,0 +1,20 @@ +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ attribute name="title" required="true" rtexprvalue="true" %> + + + + + + ${title} + + + + + +
+ + + + +
+ diff --git a/src/main/webapp/WEB-INF/view/jsp/01-plain/users.jsp b/src/main/webapp/WEB-INF/view/jsp/01-plain/users.jsp new file mode 100755 index 0000000..1be0897 --- /dev/null +++ b/src/main/webapp/WEB-INF/view/jsp/01-plain/users.jsp @@ -0,0 +1 @@ +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> Users List
First Name Last name
${user.firstName} ${user.lastName}
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/view/jsp/02-custom-tags/users.jsp b/src/main/webapp/WEB-INF/view/jsp/02-custom-tags/users.jsp new file mode 100755 index 0000000..e3db020 --- /dev/null +++ b/src/main/webapp/WEB-INF/view/jsp/02-custom-tags/users.jsp @@ -0,0 +1 @@ +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="layout" tagdir="/WEB-INF/tags" %>
First Name Last name
${user.firstName} ${user.lastName}
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/view/jsp/footer.jsp b/src/main/webapp/WEB-INF/view/jsp/footer.jsp new file mode 100755 index 0000000..c8abafa --- /dev/null +++ b/src/main/webapp/WEB-INF/view/jsp/footer.jsp @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/view/jsp/menu.jsp b/src/main/webapp/WEB-INF/view/jsp/menu.jsp new file mode 100755 index 0000000..f5fab11 --- /dev/null +++ b/src/main/webapp/WEB-INF/view/jsp/menu.jsp @@ -0,0 +1,16 @@ +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> + + + + + +
+ + + +
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml new file mode 100755 index 0000000..531e192 --- /dev/null +++ b/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,26 @@ + + + HelloWorldExampleWithSpring3MVCInEclipse + + DispatcherServlet + org.springframework.web.servlet.DispatcherServlet + + contextConfigLocation + + /WEB-INF/app-config.xml + + + 1 + + + DispatcherServlet + *.htm + + + DispatcherServlet + *.json + + + index.jsp + + \ No newline at end of file diff --git a/src/main/webapp/images/springsource_banner_green.png b/src/main/webapp/images/springsource_banner_green.png new file mode 100755 index 0000000000000000000000000000000000000000..a765574c0db366e4e9ad07165d95791dee147f51 GIT binary patch literal 53205 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 + +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> + + + + + Index + + + + + \ No newline at end of file diff --git a/src/main/webapp/style/app.css b/src/main/webapp/style/app.css new file mode 100755 index 0000000..8fc7557 --- /dev/null +++ b/src/main/webapp/style/app.css @@ -0,0 +1,19 @@ + +form fieldset { padding: 20px; } +div.control-group { margin-bottom: 20px; } +div.control-group label.control-label { width: 300px; } +div.control-group div.controls { width: 400px; } +div.controls span { color: red; font-size: 0.8em; } + +div.container { margin: 0 auto; width: 940px; } + +a { text-decoration: none; } +a:hover { text-decoration: underline; } + +h1 { border-bottom: 1px solid #eee; padding-bottom: 13px; } +h1 small { font-size: 0.6em; color: #ccc; } + + +table {width: 300px;} + tr:nth-child(odd) {background-color: #eee;} + tr:nth-child(even) {background-color: #fff;} diff --git a/src/main/webapp/style/main.css b/src/main/webapp/style/main.css new file mode 100755 index 0000000..ff4c21b --- /dev/null +++ b/src/main/webapp/style/main.css @@ -0,0 +1,7 @@ +.error{ + color: red; +} + +.success{ + color: green; +} \ No newline at end of file