- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
CMS_VALUE & Request Parmeter
Hallo Zusammen,
gibt es eine Mรถglichkeit, an die Request Parameter oder Session Parameter einer Seite mittels CMS_Value zu gelangen?
$CMS_VALUE(request)$ klappt nicht, weil das habe ich auch irgendwo hier gesehen.
Gruร
- Labels:
-
Developers
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Daniel,
da es gar keine sessionspezifische Generierung gibt, ist das nicht mรถglich. Die Reihenfolge ist schlicht so, dass im Preview-Webserver bereits nur die schon geparsten Templates da sind.
Viele Grรผรe
Michael
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Michael,
danke fรผr die Antwort.
Das ist schlecht, weil ich erhalte bei jsp jetzt mitlerweile sehr hรคufig, code too large.
Das liegt daran, dass wir den Mobile und Desktop Code zusammen im Template generieren mรผssen. Beim Aufruf der Seite wird dann ein getParameter gesetzt zur Auswertung, welcher den Code entsprechenden Code angezeigt.
Dafรผr haben wir in der MPP einen Schalter gebaut, der die preview mit dem entsprechenden parameter nochmal aufruft.
Deswegen muss ich irgendwie verhindern, dass bei isMobile true nur der mobile Code ausgegeben wird und sonst Desktop Code. Deswegen war der Gedanke irgendwie an einer CMS_IF den request Parameter zu prรผfen, damit nur der der eine oder andere Code beim aufruf der Seite ausgeben wird.
Es geht dabei nur um die Preview in FirstSpirit. Die Generierung ist dabei egal.
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
$CMS_TRIM(level:3, char:"\n")$
$CMS_SET(webApp)$$CMS_RENDER(script: "getemplate", url: "/pfadzurDatei/seite.html")$$CMS_END_SET$
$CMS_SET(angApp)$$CMS_RENDER(script: "getemplate", url: "/pfadzurDatei/seite.html")$$CMS_END_SET$
<%
String isMobileRequest = request.getParameter("isMobile");
if(isMobileRequest == null){
session.setAttribute("isMobile", false);
}else if(isMobileRequest.equals("false")){
session.setAttribute("isMobile", false);
}else if(isMobileRequest.equals("true")){
session.setAttribute("isMobile", true);
}
Boolean isMobile = (Boolean) session.getAttribute("isMobile");
%>
<%
if(isMobile == null){
session.setAttribute("isMobile", false);
}else if(isMobile == false){
%>
$CMS_VALUE(webApp)$
<%
}else if(isMobile == true){
%>
$CMS_VALUE(angApp)$
<%
}
%>
$CMS_END_TRIM$
Jetzt soll eben nur der webApp oder angApp ausgeben werden. Und das weis ich nur, wenn ich den Parameter isMobile auslesen kann.
Gruร
Daniel Lรผttel
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Daniel,
leider kann ich dir bei diesem konkreten Problem nicht direkt weiterhelfen. Wie sieht es denn aus mit JSP tags bzw. JSTL? Ich denke auf dauer werdet ihr nicht drum herum kommen, wenn ihr denn noch wartbaren code erzeugen wollt. Vielleicht lรถst sich damit auch euer too large problem?
Viele Grรผรe
Martin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Daniel,
wir ist denn der aktuelle Stand? Benรถtigst du noch weitere Hilfe oder konnte Martins Hinweis bzgl. JSP oder JSTL dir weiterhelfen?
Viele Grรผรe
Michaela
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Eine Mรถglichkeit: kein JSP verwenden, sondern Freemarker oder Velocity, also irgend eine Template-Engine. Wartbarer wird es damit aber nicht.
Oder den Code kรผrzen. Man kann schon bei dem Stรผckchen, das gepostet wurde, erkennen, dass das nicht so ganz optimal impl. ist. Ein Java-Entwickler kรถnnte / sollte da was rausholen kรถnnen.
Oder noch besser: die Geschรคftslogik in ein Modul auslagern. Aber um da Empfehlungen geben zu kรถnnen, mรผsste man den kompletten Code sehen.

