Meine Bohne mitkommentierte Frühlings-Session-Bean in JSP accesing
@Component("Person")
@Scope(value="session", proxyMode = ScopedProxyMode.TARGET_CLASS)
kommentierte ist habe ich einige Getter und Setter, aber die, die ich interessiert bin, ist
@Transient
private ArrayList<DummyProduct> products = new ArrayList<DummyProduct>();
public ArrayList<DummyProduct> getProducts() {
return products;
}
public void setProducts(ArrayList<DummyProduct> products) {
this.products = products;
}
Da ist in meinem JSP zu erhalten in meiner Steuerung füge ich Produkte zu dieser Liste hinzu
Dann in meiner JSP versuchte ich, ohne Glück, um die Produkte zu bekommen:
<table id="cart_table" border="1">
<tr>
<th>Product</th>
</tr>
<c:forEach var="prd" items="${sessionScope.Person.products}" >
<tr>
<td>${prd.productName}</td>
</tr>
</c:forEach>
</table>
Ich habe auch die folgende Eigenschaft, so dass meine Bohnen jsps ausgesetzt sind: <beans:property name="exposeContextBeansAsAttributes"
<beans:bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
<beans:property name="exposeContextBeansAsAttributes" value="true" />
EDIT: Der Regler:
@org.springframework.stereotype.Controller
public class Controller {
@RequestMapping(value= "/addProduct", method = RequestMethod.POST)
public String addProduct(HttpServletRequest request, Map<String, Object> model, @RequestParam String product){
DummyProduct prod = new DummyProduct(product);
this.person.getProducts().add(prod);
return "loggedIn";
}
}
Tabelle ist immer leer. Ich habe debugged und ich sah, dass in meiner Person Bean die Produktliste ausgefüllt ist.
Haben Sie die Bohne versucht, den Zugriff ohne die 'scessionScope', bevor es? – nfechner
@nfechner Ich habe versucht, jetzt aber nicht funktioniert :( –
können wir Ihre Controller-Klasse –