Frage

ich mehrere Attribute in meinem benutzerdefinierten Tags, beispiel zu verwenden ist versucht.

<mytaglib:mytag firstname="Thadeus" lastname="Jones" />

Wie kann ich die Attribute in dem Taghandler Code?

War es hilfreich?

Lösung

Nicht wirklich die Antwort auf das, was Sie gefragt, aber ich hasse (dh noch nie geschrieben) Taghandler ist, aber ich liebe Tag-Dateien . Hier können Sie benutzerdefinierte Tags mit jsp Dateien schreiben. Sie wissen wahrscheinlich über sie und sind nicht verfügbar / anwendbar - aber dachte, dass ich sie nur für den Fall erwähnen würde

.

Andere Tipps

Um die Parameter Ihre Taghandler Klasse zugreifen sollten die privaten Mitglieder definieren und Zugriffsmethoden bieten.

public class TagHandler extends TagSupport {
    private String firstName;
    private String lastName;

    public void setFirstName(String firstname) { firstName = firstname; }
    public void setLastName(String lastname) { lastName = lastname;}
}

Sie können dann auf die Parameter durch die Taghandler Variablen.

public int doStartTag() throws JspException {
    pageContext.getOut().print(lastName + ", " + firstName);
}

Wenn Sie immer noch Ihre Namenskonventionen Probleme Doppel haben überprüfen, die Java interpeter versucht, zu erraten, was die Setter-Methode ist. Also, wenn Ihr Parameter „Vorname“ als die eingestellte Methode sein muss „setFirstName“, wenn der Parameter „name“ muss der eingestellte Parameter „setlastname“ sein. Ich perfer den ersteren zu folgen, da es die Standard-Java-Namenskonvention ist.

die Lösung dieses Problems demonstrieren läßt eine Analogie nehmen. Angenommen, wir haben „username“ und „password“, die von index.jsp abgerufen wird, und wir müssen unsere Daten in benutzerdefinierten Tags Attribut übergeben. In meinem Fall seiner Arbeit

<body>

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

<%@ taglib prefix="c" uri="/WEB-INF/mytag.tld" %>

<c:logintag name="<%=name %>" password="<%=password %>"/>

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top