Situation: Je suis en train de développer un webapp MVC à ressorts et d'utiliser le flux de ressorts et la charpente de carreaux. J'ai deux tables dans DB customer
et customerAdress
et j'ai deux classes de modèle pour eux nommés customerModel
et customerAdressModel
.comment lier plusieurs modèles à une seule vue dans le flux Web de printemps?
Maintenant, dans mon flow.xml i ont les éléments suivants view-state
:
<var name = "cust" class = "com.model.CustomerModel"/>
<view-state id = "customerViewState" view = "customer" model = "cust">
<transition on="next" to="customerData"/>
</view-state>
cadre de carreaux résout la vue customer
de s'approprier customer.jsp
qui est indiqué ci-dessous:
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<div>
<form id="Form" method="post" enctype="multipart/form-data" class="form-
inline">
<div class="inputDiv">
<label class="inputLabel"> Name :</label>
<input type="text" name="name" id="name">
<label class="inputLabel">Email :</label>
<input type="email" name="email" id="email">
</div>
<input type="button" id="forwardButton" value="Next"/>
</form>
</div>
</body>
<script>
$("#forwardButton").click(function(){
$("#WlDetailsForm").attr('action','${flowExecutionUrl}&_eventId=next');
$("#WlDetailsForm").submit();
});
</script>
</html>
Problème: Maintenant, la formulaire spécifié dans customer.jsp
a quelques champs d'entrée qui contient la valeur des propriétés de customerAdressModel
. Donc je veux lier customerModel
ainsi que customerAdressModel
dans le même état d'affichage customerViewState
. Comment puis-je faire cela, je suis allé à travers le printemps DOC, mais je ne pouvais rien trouver, s'il vous plaît aider!
Note: je ne peux pas modifier mon sql tables
ce sont les déclarations établies font, pourquoi sont-ils nécessaires? –
@varunsinghal L'instruction 'set' définit le résultat de l'expression' value' à l'attribut défini dans 'name'. ' ' signifie 'customerDto.setCustomer (cust)'. Les deux ensembles sont nécessaires pour définir le client et l'adresse dans DTO afin de les référencer dans jsp. –
Evgeny
un doute, j'ai un service d'affaires qui prend customerModel comme paramètre d'entrée, puis insère ce paramètre d'entrée dans le tableau client. comment pourrais-je réaliser cela ici? puis-je faire comme ceci: cusomerBuisness.createCustomer (customerDto.cust)? aidez s'il vous plaît! –