2016-12-30 1 views
1

La demande est comme ceci: J'ai un haricot comme enter image description hereComment obtenir le param qui urlencoded x-www-form-type de contenu est en Struts 2

Dans le serveur, ceci:

@Data 
public class TechInfo { 
    private int shopID;  
    private String name; 
    private int experience; 
    TechnicianTitleInfo technicianTitleInfo; 
    private String skill; 
} 

Comment puis-je obtenir les paramètres de requête dans Struts2?

J'ai déclaré un TechInfo dans mon action, mais sa valeur est nulle après que Struts2 l'ait analysé.

L'action est comme ceci:

public class AjaxAction{ 

    @Getter @Setter private TechInfo techInfo; 

    protected void jsonExecute() throws Exception { 
     //need the techInfo 
    } 
} 
+0

Quelle est la méthode 'jsonExecute()', où est-elle appelée (clairement pas une méthode d'action, puisqu'elle est 'void')? Pouvez-vous afficher la pile d'intercepteurs utilisée pour cet appel, et éventuellement l'extrait JSP contenant également les paramètres? –

+0

@ yonney.yang vous utilisez un nom de paramètre incorrect pour remplir la propriété d'action, soit vous changez le nom, soit vous récupérez les paramètres manuellement. –

Répondre

0

Le format de paramètre correct est celui utilisant la notation Dot :

techInfo.picID 
techInfo.name 
techInfo.technicianTitleInfo.titleId 

et ainsi de suite.

0

Comment obtenir le type qui param de contenu est x-www-form-urlencoded

Struts2 utilise request.getParameterMap().

J'ai déclaré un TechInfo dans mon action, mais sa valeur est nulle après que Struts2 l'a analysé.

La valeur est null parce TechInfo est pas lié à la variable de classe d'action. Le nom du paramètre de la requête doit être identique au nom de la variable techInfo.