Java Bean: comment <jsp:setProperty> dans <jsp:useBean> est généré dans le Code Java
Par exemple, j'ai ce code:
<jsp:useBean id="dog" class="Dog" scope="application">
<jsp:setProperty name="dog" property="breed" value="House Dog !!!"/>
</jsp:useBean>
Je sais comment il fonctionne. Mais, parfois, je change de certaines partie du code, par exemple: "chien" à "newDog", je rencontre une erreur ou unguested-suite (avec moi).
Donnez-moi comment code ci-dessus est générée en Java. (peut-être juste une idée principale)
Merci 🙂
Vous devez vous connecter pour publier un commentaire.
Jsp finalement d'être généré à
.java
classes qui compilé comme les servlets. Vérifiez que le serveur du dossier de travail. Dans le cas de Tomcat, un/test.jsp
est généré comme/org/apache/jsp/test_jsp.java
fichier Tomcat/work
dossier.Les lignes suivantes
(la seule modification que j'ai apporté est l'ajout d'un package; packageless classes sont Mauvais™)
sont générés en tant que
Tomcat est open source, conformément à son code source, le
JspRuntimeLibrary#introspecthelper()
méthode délégués àinternalIntrospecthelper()
qui, finalement, fait ceci:Vous voyez, c'est à l'aide de
java.les haricots.Introspector
pour obtenir bean de l'information et de propriétés parBeanInfo#getPropertyDescriptors()
. L'souhaité<jsp:setProperty>
méthode est obtenu commejava.lang.de réfléchir.Méthode
parPropertyDescriptor#getWriteMethod()
. Enfin, il utilise le La réflexion de l'API pour appeler la méthode.C'est comment il est généré:
Le chien dans setProperty est une référence à la Classe Chien de useBean.
J'espère que vous comprenez ce