javax.servlet.jsp.JspException: Pas de méthode getter de la propriété
Je suis incapable de savoir ce que je fais de mal. J'ai tenu à utiliser le Formulaire de Haricots à l'intérieur de la Forme de Haricot car il existe de nombreuses différentes parties de la forme. Fondamentalement, il n'y est une réponse de la partie ainsi que la demande de la partie sur le même formulaire.
Lors de l'initialisation du point de vue, je suis pas de méthode de lecture exception.
Je suis à l'aide de Struts 1.2
javax.servlet.jsp.JspException: No getter method for property getAvailableAddres
sRequest.resellerId of bean org.apache.struts.taglib.html.BEAN
at org.apache.struts.util.RequestUtils.lookup(RequestUtils.java:968)
struts-config.xml:
<form-beans>
<form-bean name="getAvailableAddress" type="com.wisor.talktalk.model.GetAvailableAddress" />
<form-bean name="provideRequest" type="com.wisor.talktalk.common.talktalkbean.RequestActionForm" />
</form-beans>
<action-mappings>
<action path="/ttTestJsp" type="com.wisor.talktalk.controller.TestJsp"
name="getAvailableAddress"
scope="session"
validate="false"
unknown="false">
<forward name="init" path="/WEB-INF/talk/preorderView/getAvailableAddress.jsp"/>
</action>
</action-mappings>
Page JSP:
<html:form action="/ttTestJsp.do?task=getResponse" styleClass="form">
<fieldset>
<label class="inline label" for="reseller_id"><fmt:message
key="label.field.resellerId" />:</label>
<html:text
property="getAvailableAddressRequest.resellerId"
styleClass="mandatory" readonly="readonly"></html:text>
</fieldset>
<html:submit value="GetAddress"/>
</html:form>
FormBean Principal:
public class GetAvailableAddress extends ActionForm{
private GetAvailableAddressRequest getAvailableAddressRequest;
public void intilize(){
getAvailableAddressRequest = new GetAvailableAddressRequest();
}
public GetAvailableAddressRequest getGetAvailableAddressRequest(){
return this.getAvailableAddressRequest;
}
public void setGetAvailableAddressRequest(GetAvailableAddressRequest getAvailableAddressRequest){
this.getAvailableAddressRequest = getAvailableAddressRequest;
}
}
enfant en Forme de Haricot:
public class GetAvailableAddressRequest implements Serializable{
private String resellerId;
public String getResellerID(){
return this.resellerId;
}
public void setResellerID(String resellerId){
this.resellerId = resellerId;
}
}
Classe D'Action:
public class TestJsp extends Action {
Logger logger = Logger.getLogger(this.getClass());
@Override
public ActionForward execute( ActionMapping map, ActionForm actionForm,
HttpServletRequest request, HttpServletResponse response) throws Exception{
ActionForward forward = null;
GetAvailableAddress form = (GetAvailableAddress) actionForm;
form.intilize();
forward = map.findForward("init");
return forward;
}}
Vous devez vous connecter pour publier un commentaire.
Il semble que votre getter et setter pour ressellerId champ ne sont pas correctement nommé dans GetAvailableAddressRequest classe. Vous êtes à l'aide de l'ID à la fin du nom de la méthode à la place de l'Id
Corrigé des signatures ci-dessous:
Rappelez-vous que le nom de la propriété de la balise d'entrée doit correspondre à une méthode de lecture nom dans le formulaire d'action
de l'échantillon :
dans la page jsp
dans le formulaire d'action
À d'autres d'être redirigé ici: tout d'abord vérifiez l'ensemble des variables/les noms de méthode.
Le problème pour moi est que la Forme de Haricot demandé les valeurs de la classe POJO(la classe avec des getters et setters) pour afficher la première page jsp; car ils n'avaient aucune valeur pour commencer, ils ont renvoyé une valeur null, faisant de la jsp pense que il n'y a pas de lecture.
Venez de définir une valeur par défaut, même "".
Ce fixe pour moi!