Code in JSF-Seite

G

gman

Gast
Hallo zusammen,

ich habe eine JSF-Seite die den Inhalt einer Tabelle auflistet (also das "R" in "CRUD"). Die Tabelle hat eine Spalte "Verfügbarkeit" mit true/false als Wert. Nun möchte ich aber gerne das in der Tabelle "Yes/No" steht. Ich habe folgenden Code versucht, damit wird aber gar kein Wert ausgegeben:

Code:
                    <h:column>
                        <f:facet name="header">
                            <h:outputText value="#{bundle.ListProductTitle_available}"/>
                        </f:facet>
                        <c:if test="#{item.available.equals('FALSE')}">
                            <h:outputText value="No"/>
                        </c:if>
                        <c:if test="#{item.available.equals('TRUE')}">
                            <h:outputText value="Yes"/>
                        </c:if>
                    </h:column>

Hat einer von euch ne Idee wie man das hinbekommt?
 

nocturne

Bekanntes Mitglied
Du kannst ja eine TLD erstellen und mit dem BeanShellInterpreter ein Javacode übergeben.

...<tlib-version>2.0</tlib-version>
<short-name>bs</short-name>
<uri>http://www.bs.de/tld/bs</uri>
<function>
<name>return</name>
<function-class>de.bs.web.BSUtil</function-class>
<function-signature>java.lang.Object inter(java.lang.Object, java.lang.String)</function-signature>
</function>...

mit
public static Object inter(Object param, String javacode){
Interpreter inter = new Interpreter();
inter.set("param",param);
return inter.eval(javacode);
}

und dann : #{bs:return(item,'return param.available==true')}




so hast du für die Zukunft ausgesorgt
 
G

gman

Gast
Hm,

danke erstmal für deinen Vorschlag. Aber geht das nicht auch mit einfachem Code in der Seite selbst? Ich weiss das das nicht so schön ist, aber nun mal schneller gemacht ;-)
 
G

gman

Gast
Jawoll,

die Lösung mit einem Converter ist sogar noch besser als das mit Code in der Seite zu lösen. Jetzt reicht ein einfaches:

Code:
<h:outputText value="#{item.available}" converter="boolConverter"/>

mit dem entsprechenden Converter:

Java:
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;

@FacesConverter(value="boolConverter")
public class BoolConverter implements Converter {

    public Object getAsObject(FacesContext context, UIComponent component, String value) {
        return convert(value.toString());
    }

    public String getAsString(FacesContext context, UIComponent component, Object value) {
        return convert(value.toString());
    }

    private String convert(String value){
        if(value.equalsIgnoreCase("true"))
            return "Yes";
        else
            return "No";
    }
}

wobei der vielleicht noch besser ausfallen kann. Das ist jetzt nur die Lösung auf die schnelle.
 
M

maki

Gast
Sieht doch gut aus :)

Konverter sind ein wichtiges Element von JSF, da der Client eigentlich nur Strings unterstützt braucht man diese oft, wenn man zB. Objekte eigener Klassen an die View sendet & zurück.
 

Prismapanda

Aktives Mitglied
Eine weitere Möglichkeit wäre folgendes:
Java:
<h:column>
  <f:facet name="header">
     <h:outputText value="#{bundle.ListProductTitle_available}"/>
  </f:facet>
  <h:outputText value="#{(item.available eq 'TRUE') ? 'Yes' : 'No'}" />
</h:column>
 
Zuletzt bearbeitet:
G

gman

Gast
Das wäre genau das was ich ursprünglich gesucht hatte, danke. Aber ich glaube ich gewöhne mir lieber die Sache mit den Convertern an ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
nrg Java-Code in Taglib wird nicht richtig ausgeführt. Web Tier 7
A Parameterübergabe an Servlet und Aufruf von Servlets per Java Code Web Tier 7
P No source code is available for type -GWT Error Web Tier 1
T Alternativ zu diesem Code??? Web Tier 6
J rich:modalpanel vom java-code aus öffnen und schliessen Web Tier 2
K "No source code is available"-Fehlermeldung mit EMF-Modell bei GWT Web Tier 2
W Java code aus JSP-File durch JSTL code ersetzen Web Tier 8
K JSP Login Code Web Tier 14
K JSF und HTML-Code Web Tier 2
W Race-Conditions im folgenden Servlet-Code möglich? Web Tier 12
J JavaScript-Code aus Applet ausführen? Web Tier 4
S Java Code in JSF Web Tier 10
S Probleme mit den Nav_rules und HTML code Web Tier 2
G MyFaces: HTML Ausgabe Code steuern Web Tier 8
M JSF - Bean aus SessionScope direkt im JSF Code auslesen Web Tier 1
K Http Status Code abfragen Web Tier 8
O Source-Code vom Tomcat kompilieren lassen Web Tier 6
S Seite nur aufrufbar machen für eingeloggte User Web Tier 1
J dynamische jsf-seite programmatisch erstellen Web Tier 1
M Seite per Push neuladen Web Tier 2
P JSF Ajax aktualisiert Seite neu Web Tier 2
F JSF selectManyCheckbox Checkbox auf der rechten Seite Web Tier 3
M GWT - Externe Java Libs auf Server Seite - zB. JDBC Web Tier 6
A Aufruf eines Servlets auf einer JSP Seite funktioniert nicht Web Tier 10
J Was ist denn eine index.jsp seite ? Web Tier 5
T JSF Primefaces: DataTable Ajax Update - Weiterleitung von anderer Seite Web Tier 11
Q JSF bei Session-Timeout Weiterleitung auf spezielle Login-Seite Web Tier 15
xehpuk JSF 404 statt 500 bei nicht existenter JSF-Seite Web Tier 7
dataframe Persistenz aus JSF-Seite ansteuern Web Tier 12
K Servlet + JSP: JSP-Seite ein Array/ArrayList überliefern vom Controller-Servlet Web Tier 8
M JSF Umfangreiche Seite strukturieren Web Tier 5
L einfache JSF-Seite wird nicht angezeigt Web Tier 8
R JSF Mit Ajax ganze Seite neu laden Web Tier 2
X Seite wird mit AJAX neu geladen Web Tier 4
R Zugriff auf Session direkt auf JSF-Seite Web Tier 2
B statische Html Seite als response erhalten (Servlet) Web Tier 3
D Auf andere Seite mit GWT Web Tier 2
S HTML Seite als PDF Web Tier 6
J JSP-Seite kann nicht aufgerufen werden Web Tier 14
K Analye einer Seite (Java, JSP, ...) Web Tier 12
I Setten auf der JSF - Seite Web Tier 2
M Ton wiedergabe über jsp-Seite Web Tier 2
J Hilfe: seite includieren mit IceFaces Web Tier 2
T Template für die ganze Seite Web Tier 6
I JSF Nur max 20 Datensätze anzeigen lassen, dann nächste Seite Web Tier 8
P request.getParameter("name") von Formular auf JSP-Seite leer Web Tier 5
aokai ExterneJS-JSP Seite einbinden Web Tier 2
C navigation auf einer jsp Seite Web Tier 3
F sendError geht nicht richtig, seite leer Web Tier 6
K JSF Seite mit Dateien der Endung *.jsf Web Tier 4
D PreparedStatement: Seite zeigt nichts an Web Tier 7
T Wie feststellen, ob ein Benutzer noch auf meiner Seite ist Web Tier 14
K [gelöst] JSF-Seite wird nicht angezeigt Web Tier 3
H JSF Seite wird plain angezeigt Web Tier 3
P JSP Seite verlassen Web Tier 2
M Authentifizierung über PhaseListener je nach Seite Web Tier 11
M Servlet Submit ergebniss in seite einbauen Web Tier 2
F Beim Aufruf von einer JSF Seite eine Methode ausführen Web Tier 9

Ähnliche Java Themen

Neue Themen


Oben