/ / Ako zobraziť jarný model pomocou Jsp JSTL? - java, jar, jsp, jstl

Ako zobraziť jarný model pomocou Jsp JSTL? - java, jar, jsp, jstl

Vlastne v mojej jarnej aplikácii mám User.jsp a pomocou tohto Jsp zobrazujem podrobnosti.

Vo svojom fóre UserProfileForm píšem

private List<ProfessionalForm> professionalDetails = new ArrayList<ProfessionalForm>();

A ProfessionalForm má inú formu detailov.

Vo svojej triede ovládačov píšem ..

 @RequestMapping(value = "user", method = RequestMethod.GET)
public String user(Model model) throws Exception {
UserProfileForm form = (UserProfileForm)FormType.USER_PROFILE.getNewInstance();

model.addAttribute("USER_PROFILE", form);
return "profile/user";
}

A môj kód stránky user.jsp ..

<form:form action="" modelAttribute="USER_PROFILE">
<div class="answer">
<c:forEach items="${USER_PROFILE.professionalDetails}" var="professionalForm">
<jsp:include page="user/professional.jsp">
<jsp:param value="${professionalForm}" name="PROFESSIONAL" />
</jsp:include>
</c:forEach>
</div>
</form:form>

A toto je môj profesionálny.jsp ..

<form:form action="profile/proffessional" modelAttribute="PROFESSIONAL">
<p>
<label class="control_label">Postion:</label>
<div class="controls">
<form:input class="text_midem" path="positionName" />
</div>
</p>
</form>

Ale získal som výnimku pre nasledujúcu konzolu pre server.

    SEVERE: Servlet.service() for servlet [spring] in context with path [/EClass] threw exception [An exception occurred processing JSP page /WEB-INF/pages/profile/user.jsp at line 40

37:                         <div class="answer">
38:                             <c:forEach items="${USER_PROFILE.professionalDetails}"
39:                                 var="professionalForm">
40:                                 <jsp:include page="user/professional.jsp">
41:                                     <jsp:param value="${professionalForm}" name="PROFESSIONAL" />
42:                                 </jsp:include>
43:                             </c:forEach>


Stacktrace:] with root cause
java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name "PROFESSIONAL" available as request attribute
at org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:141)

Prečo táto správa prichádza, je akákoľvek slučka vyžadovaná na stránke User.jsp alebo Professional.jsp ..

Prosím pomôžte mi..

EDIT:

Namiesto <jsp:include> používame ...

<%@include file="user/professional.jsp"%>

Počuť tiež chybu ...

    SEVERE: Servlet.service() for servlet [spring] in context with path [/EClass] threw exception [An exception occurred processing JSP page /WEB-INF/pages/profile/user/professional.jsp at line 16

13:                                 <p>
14:                                     <label class="control_label">Postion:</label>
15:                                 <div class="controls">
16:                                   <form:input class="text_midem" path="positionName" />
17:                                 </div>
18:                                 </p>
19:                                 <p>


Stacktrace:] with root cause
java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name "PROFESSIONAL" available as request attribute

odpovede:

1 pre odpoveď č. 1

Použitie <% @ include%> namiesto jsp: include

<%@include file="user/professional.jsp"%>

0 pre odpoveď č. 2
......
<jsp:include page="user/professional.jsp">
<jsp:param value="${professionalForm}" name="PROFESSIONAL" />
</jsp:include>
.......

Vyššie uvedený kód odošle žiadosť parameter s názvom PROFESSIONAL na stránke professional.jsp a nie žiadosť atribút, Kým nižšie uvedený kód hľadá atribút žiadosti

....
<form:form action="profile/proffessional" modelAttribute="PROFESSIONAL">
....

Takže musíte pravdepodobne nastaviť hodnotu ako atribút atribútu.

Vyskúšajte nižšie uvedený kód

.......

<form:form action="" modelAttribute="USER_PROFILE">
<div class="answer">
<c:forEach items="${USER_PROFILE.professionalDetails}" var="professionalForm">
<c:set var="PROFESSIONAL" scope="request" value="${professionalForm}">
<jsp:include page="user/professional.jsp">
</jsp:include>
</c:forEach>
</div>
</form:form>
........