Sandy
I'm new here

JSP mit FS_Integration Tags

Hallo zusammen,

möchte in den FS_integration Tags den Inhalt einer JSP-Variablen auslesen und umgekehrt auch eine FS_integration Variable in einem JSP Code auslesen.

Habe das probiert, scheint aber die falsche Syntax zu sein oder es muss einen Workaround geben.

Hier Beispiele:

1. in FS_integration Tags eine JSP-Variable auslesen: Es wird der Inhalt von request-Parametern in JSP-Variablen geschrieben und diese sollen in einer fsi_search Query abgefragt werden

<% String username = request.getParameter("username"); %>

<% String password = request.getParameter("password"); %>

<fsi:search resultName="persons" pageSize="1">

                                        <fsi:query>

                                            <QUERY entityType="Person">

                                                <AND>

                                                    <EQ attribute="user" value="${username}" />

                                                    <EQ attribute="password" value="${password}" />

                                                </AND>

                                            </QUERY>

                                        </fsi:query>

</fsi_search>

2. eine FS_integration Variable im JSP Code auslesen: Der Inhalt der FS_Integration Variablen soll zu einem String geparst werden.

<% String referees = String.valueOf( ${lecture.content_referees} ); %>

Weiß jemand die Lösung oder einen Workaround dazu?

Grüsse,

Sandra Stolle

0 Kudos
5 Replies
Sandy
I'm new here

Hallo nochmal,

das 1. Beispiel hab ich bereits gelöst, die JSP-Variable einfach mit z.B. '<%= username %>' in der Query vom fsi:search auslesen.

Aber beim 2.Beipiel ist fraglich, ob sowas überhaupt funktioniert. Brauche das um den Inhalt der FS_Integration Variablen später in ein String-Array aufzuteilen, das ich in einer for-Schleife durchlaufen kann.

Grüsse,

Sandra

0 Kudos

Zum ersten Beipiel noch eine Anmerkung.

Es würde auch so gehen:

<fsi:search resultName="persons" pageSize="1">

                                        <fsi:query>

                                            <QUERY entityType="Person">

                                                <AND>

                                                    <EQ attribute="user" value="${param.username}" />

                                                    <EQ attribute="password" value="${param.password}" />

                                                </AND>

                                            </QUERY>

                                        </fsi:query>

</fsi_search>


Somit kann man an dieser Stelle auf die Scriptlets verzichten, die man ja eh nicht mehr benutzen sollte...

0 Kudos
feddersen
Community Manager

Bei ihrer zweiten Frage fehlt mir der Kontext um diese beantworten zu können. Was für eine FS-Integration Variable wollen Sie im Scriptlet ausgeben?

0 Kudos

Diese Variable 'content_referees' ist vom Typ 'class de.espirit.firstspirit.client.editorcomponent.EditorWrapper' und gibt eine Zahl aus, die sich aus mehrerern Ids aus der Datenbank zu einem String zusammensetzt.

Es soll einfach nur geprüft werden, ob sich eine bestimmte Id darin befindet. Aber vielleicht kann man das auch mit dem Query-Tag im fsi:search hinbekommen.

Hab das schon folgendermaßen probiert:

<QUERY entityType="Lecture">

       <LIKE attribute="content_referees" value="%${personn.referee.fs_id}%">

</QUERY>

Diese Query liefert aber keine Ergebnisse zurück, obwohl es welche geben müsste. Die Spalte 'content_referees' ist dabei im Datenbankschema von FS vom Typ 'xml', gibt aber beim Auslesen die aus mehreren Id`s zusammengesetzte Zahl aus.

0 Kudos

Eine erneute Abfrage ist in diesem Fall wohl nicht notwendig und würde auch nur einen String als Rückgabewert haben.

Sie können den String einfach mittels der split Methode in einen String-Array umwandeln.

0 Kudos