Skip to content

Commit

Permalink
Add '@PathVariables available in the model when rendering' and 'Data …
Browse files Browse the repository at this point in the history
…binding with URI variables' under the Views tab
  • Loading branch information
rstoyanchev committed Aug 25, 2011
1 parent 65fa25d commit cba02da
Show file tree
Hide file tree
Showing 5 changed files with 63 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
package org.springframework.samples.mvc.mapping;

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class JavaBean {

private String foo = "bar";
Expand Down
29 changes: 29 additions & 0 deletions src/main/java/org/springframework/samples/mvc/views/JavaBean.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package org.springframework.samples.mvc.views;

import javax.validation.constraints.NotNull;

public class JavaBean {

@NotNull
private String foo;

@NotNull
private String fruit;

public String getFoo() {
return foo;
}

public void setFoo(String foo) {
this.foo = foo;
}

public String getFruit() {
return fruit;
}

public void setFruit(String fruit) {
this.fruit = fruit;
}

}
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
package org.springframework.samples.mvc.views;

import javax.validation.Valid;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

Expand All @@ -22,4 +25,14 @@ public void usingRequestToViewNameTranslator(Model model) {
model.addAttribute("fruit", "apple");
}

@RequestMapping(value="pathVars/{foo}/{fruit}", method=RequestMethod.GET)
public String pathVars(@PathVariable String foo, @PathVariable String fruit) {
return "views/html";
}

@RequestMapping(value="dataBinding/{foo}/{fruit}", method=RequestMethod.GET)
public String dataBinding(@Valid JavaBean javaBean, Model model) {
return "views/dataBinding";
}

}
10 changes: 10 additions & 0 deletions src/main/webapp/WEB-INF/views/home.jsp
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,16 @@
<a href="<c:url value="/views/viewName" />">DefaultRequestToViewNameTranslator convention</a>
</li>
</ul>
<ul>
<li>
<a href="<c:url value="/views/pathVars/bar/apple" />">@PathVariables in the model when rendering</a>
</li>
</ul>
<ul>
<li>
<a href="<c:url value="/views/dataBinding/bar/apple" />">Data binding with URI variables</a>
</li>
</ul>
</div>
<div id="convert">
<h2>Type Conversion</h2>
Expand Down
11 changes: 11 additions & 0 deletions src/main/webapp/WEB-INF/views/views/dataBinding.jsp
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page session="false" %>
<html>
<head>
<title>My HTML View (Data Binding)</title>
</head>
<body>
<h1>foo = ${javaBean.foo}</h1>
<h1>fruit = ${javaBean.fruit}</h1>
</body>
</html>

0 comments on commit cba02da

Please sign in to comment.