Wie übergeben Objekt mit jsp:include param-tag in eine andere jsp
Ich versuche zu senden DTO-Objekt von einer jsp auf eine andere jsp mit jsp:include-tag. Aber es ist immer die Behandlung als String. Ich kann nicht in der Lage zu verwenden, DTO in meine jsp-Datei enthalten.
Hier ist ein code ..
<c:forEach items="${attributeDTOList}" var="attribute" varStatus="status">
<jsp:include page="attributeSubFeatureRemove.jsp" >
<jsp:param name="attribute" value="${attribute}" />
</jsp:include>
</c:forEach>
attributeSubFeatureRemove.jsp-Datei ..
<c:set value="${param.attribute}" var="attribute" />
<c:forEach items="${attribute.subFeatures}" var="subAttribute">
<c:forEach items="${subAttribute.attributeValues}" var="subValue">
<c:if test="${ subValue.preSelectionRequired}">
<c:set var="replaceParams" value=":${subAttribute.name}:${subValue.name}" />
<c:set var="removeURL" value="${fn:replace(removeURL, replaceParams, '')}" />
</c:if>
</c:forEach>
<jsp:include page="attributeSubFeatureRemove.jsp">
<jsp:param name="subAttribute" value="${subAttribute}" />
</jsp:include>
</c:forEach>
Hier bin ich versucht zu bekommen-Attribut-Wert von param, es ist immer das senden von String Type Value. Gibt es eine Möglichkeit zu senden Objekt (DTO) in attributeSubFeatureRemove jsp-Datei ? Bitte helfen Sie.
Anfrage.setAttribute will-variable. Wie definiere ich Variablen? Es muss festgelegt werden, wie dies ${subAttribute}
Nein das funktioniert nicht 🙁
stackoverflow.com/a/13510064/2885897
Nein das funktioniert nicht 🙁
stackoverflow.com/a/13510064/2885897
InformationsquelleAutor Free-Minded | 2015-03-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube nicht, dass Sie wirklich wollen, tag-Dateien hier. Das ist viel zuviel und zu unübersichtlich, für das, was Sie erreichen möchten. Sie brauchen, um zu verbringen Zeit das Verständnis von "scope". Anstelle von Tags-Dateien ist, würde ich:
1) Ändern Sie das Attribut in der "Anfrage" - Bereich, anstatt die Standard - "Seite" Bereich durch ändern der Zeile:
zu diesem
Machen "- Attribut" a "requestScope" - variable, die verwendet werden können in andere JSP-Dateien, die c:importiert. (Hinweis: forEach nicht unterstützt scope-Attribut, so dass mit c:set Umfang es innerhalb jeder iteration.)
2) Ändern Sie Ihre original-jsp:include:c: - import. So ändern Sie es aus:
zu diesem
Beachten Sie, dass wir nicht explizit versuchen, geben Sie das Attribut als parameter, da haben wir es schon gemacht zur Verfügung, um alle c:importierte Seiten in der "requestScope".
3) Ändern Sie Ihre c:importierte JSP-Code zum Verweis das Attribut mit dem requestScope, indem Sie diese:
zu diesem
Hier, die wir nicht mehr brauchen c:eingestellt, da Sie bereits das Attribut verfügbar. Wir müssen nur sicherstellen, dass wir schauen, in den requestScope für die variable, statt in die Standard-pageScope oder als parameter (weil wir nicht mehr es als parameter übergeben).
Dieser Technik wird viel einfacher für Sie zu verwalten.
Besser aktualisieren Sie Ihre Antwort so deuten die oben im Kommentar. Gr8 job.!!
du schöner Mensch, danke lol
Die Antwort könnte etwas Klarheit. Es war nicht klar, für mich erstmal, dass 1) 2) Schritte. Nachdem es hast, mein problem zu lösen, obwohl. Ich wusste nicht, jsp:param übergibt nur Strings.
InformationsquelleAutor alfreema
Also ich habe das Problem gelöst, indem mit Hilfe der tag-Datei. Ich bin nicht mehr mit jsp:include-tag jetzt, weil es wird immer per String-Typ.
Hier ist eine Lösung ..
attributeSubFeatureRemove.tag-Datei
Hier bin ich Angabe Type-Attribut, um access-Objekt in der tag-Datei. Und es funktioniert gut.
InformationsquelleAutor Free-Minded
Können Sie nicht direkt übergeben wird ein Objekt mit jsp:include param-tag in eine andere jsp.
Jedoch, übergeben Sie diesem Attribut ist der NAME (als string) mit jsp:include param-tag in eine andere jsp, die Dann in der mitgelieferten jsp, können Sie das Attribut selbst durch seinen Namen von requestScope.
in Ihrem Haupt-JSP:
in attributeSubFeatureRemove.jsp:
InformationsquelleAutor qiangbro