Announcement

Collapse
No announcement yet.

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Hallo zusammen,

    ich hab folg. Frage..

    ich möchte in <html:radio property="auswahl" value="E1" statt E1 folg. <bean:write name="menues" property="preis"/> einegeben. Nun hab ich nen Problem wie ich dies syntaxtechnis mache, damit er nicht die Zeichenkette "<bean:write " nicht sondern den Wert der dahinter steckt.

    Kann mir jemand helfen :-(

    Danke
    Vicky

  • #2
    hallo vicky,

    da gibt es zwei einfache möglichkeiten:
    <br><br>
    1. du nutzt die tagblibs mit el syntax(oder wie das heißt), da kannst du dann so etwas angeben wie value="$value" wobei die variable value vorher durch das bean menues belegt wurde. dafür sind in struts die taglibs mit *-el oder so notwendig zu verwenden, so genau weiß ich das aber leider auch nicht. oder
    <br><br>
    2: du verwendest das html option radio button tag und gibst dann für den wert an value="<bean:write ../>".
    <br><br>
    ich denke das sollte so gehen.

    mfg

    ja

    Comment


    • #3
      also ich hab folg. ausprobiert:

      <pre><html:radio property="auswahlMo" value="<bean:write name="menues" property="menueKlasse"/>"/></pre>

      das funkt. nich

      Comment


      • #4
        Hallo Vicky!

        Meinst Du so etwas:

        <pre>
        &lt;html:radio property="auswahl" value="&lt;%= menues.getPreis() %&gt;"/&gt;
        </pre>

        bzw.

        <pre>
        &lt;html:radio property="auswahl" value="${menues.preis}"/&gt;
        </pre>

        mit Struts-EL ?

        Gruß, Jör

        Comment


        • #5
          Leider funkt. das nicht! Er nimmst den in Hochkommatas angebenen Ausdruck als Value und nicht den Wert der dahinter steckt :-

          Comment


          • #6
            hallo,

            schick doch mal wie dein code genau aussieht. kann es sein wenn du die "$(..)" variante verwendet hast und er $(...) als wert ausspuckt, das du kein el verwendest? was macht er denn mit variante 1

            Comment


            • #7
              hallo vicky,

              struts kann meines wissen nicht mit verschachtelten tags umgehen.

              ein workaround ist:

              <bean:define id="menuID" name="menues" property="menueKlasse"/>

              <html:radio property="auswahlMo" value="<%= menuID%>"/&gt

              Comment


              • #8
                Hallo Sven,

                was mach ich hier falsch

                <PRE><logic:iterate id="menues" name="menues" scope="session">
                <bean:define id="menuID" name="menues" property="menueKlasse"/>
                <html:radio property="auswahlMo" value=<%=menuID%>/>

                <bean:write name="menues" property="menueKlasse"/>
                <bean:write name="menues" property="preis"/><p>
                </logic:iterate> <PRE>

                Danke!
                Vick

                Comment


                • #9
                  Hallo Vicky!

                  Ein vollständiges Beispiel für die Verwendung des <i>&lt;html:radio ...&gt;</i> Tags sieht demnach folgendermaßen aus:

                  <pre>
                  &lt;%@ taglib uri="/WEB-INF/lib/struts-logic.tld" prefix="logic" %&gt;
                  &lt;%@ taglib uri="/WEB-INF/lib/struts-bean.tld" prefix="bean" %&gt;
                  &lt;%@ taglib uri="/WEB-INF/lib/struts-html.tld" prefix="html" %&gt;
                  &lt;%@ page import="org.apache.struts.util.LabelValueBean" %&gt;

                  &lt;%
                  LabelValueBean b[] = new LabelValueBean[5];

                  for (int i=0; i&lt;5; i++) {
                  b[i] = new LabelValueBean("label " + i, "value " + i);
                  }
                  pageContext.setAttribute("liste", b);
                  %&gt;
                  &lt;html:html&gt;
                  &lt;html:form action="/radio"&gt;
                  &lt;logic:iterate id="item" name="liste"&gt;
                  &lt;html:radio idName="item" property="wert" value="value"/&gt;
                  &lt;bean:write name="item" property="label"/&gt;&lt;br/&gt;
                  &lt;/logic:iterate&gt;
                  &lt;/html:form&gt;
                  &lt;/html:html&gt;
                  </pre>

                  Dabei gehe ich von folgenden Voraussetzungen aus:

                  <ol>
                  <li>Das <i>&lt;logic:iterate&gt;</i> Tag iteriert über ein einfaches Array mit <i>LabelValueBeans</i></li>
                  <li>Der Wert eines Radiobuttons steht bei jedem Schleifendurchlauf in der Eigenschaft <i>value</i> des aktuellen "Schleifen-Beans"</li>
                  <li>Der Wert, der über die Radiobuttons ausgewählt wird, landet anschließend in der Eigenschaft <i>wert</i> des aktuellen <i>FormBeans</i></li>
                  <li>Die Beschriftung (<i>"label"</i>) des Radio-Buttons kommt aus der Eigenschaft <i>label</i> des aktuellen "Schleifen-Beans"</li>
                  </ol>

                  Ich hoffe, das Beispiel hilft Dir...

                  Gruß, Jör

                  Comment

                  Working...
                  X