2010-11-02 6 views
0

Je développe une application JSF qui a une servlet pour afficher des images binaires. Je l'ai travaillé avec un paramètre, mais je voulais passer deux paramètres. Il semble seulement avoir le premier paramètre. Ma cartographie ressemble à ceci.Comment puis-je transmettre deux valeurs à une servlet Java?

<servlet> 
    <servlet-name>imageServlet</servlet-name> 
    <servlet-class>com.myapp.system.ImageServlet</servlet-class> 
</servlet> 

<servlet-mapping> 
    <servlet-name>imageServlet</servlet-name> 
    <url-pattern>/image/*</url-pattern> 
</servlet-mapping> 

Quand j'appelle le servlet, il ressemble à ceci

<p:graphicImage value="image?app=avatar?id=#{bean.imgId}" /> 

Dans mon servlet je reçois les paramètres comme si

String id = request.getParameter("id"); 
String app = request.getParameter("app"); 

Si la sortie I la chaîne de l'application, il affiche cette

avatar?id=166 

Comment Je permets au servlet url-patter de prendre deux valeurs et de pouvoir les analyser en utilisant la méthode getParameter. Merci.

Répondre

0

Le format de codage de paramètres d'URL est de séparer les paires clé-valeur avec une esperluette (&):

<p:graphicImage value="image?app=avatar&id=#{bean.imgId}" /> 
+0

Cela ressemble à un extrait d'un fichier XML: & –

+0

pourrait être, ou pourrait simplement être un taglib JSP –

0

utilisation ampersand avant que tous les paramètres, mais la première:

<p:graphicImage value="image?app=avatar&id=#{bean.imgId}" /> 
1

Le JSP La balise doit s'écrire:

<p:graphicImage value="image?app=avatar&amp;id=#{bean.imgId}" /> 

Paramètres de la partie requête d'une URL devrait être séparé par '&' n'est pas '?' s.

(Vous pouvez ignorer cela, mais eux, vous ne serez pas en mesure d'utiliser ServletRequest.getParameter(String) pour récupérer les valeurs des paramètres. Au lieu de cela, vous devez utiliser ServletRequest.getQueryString() et analyser les paramètres individuels vous-même.)

0
<p:graphicImage value="image?app=avatar&id=#{bean.imgId}" /> 

& au lieu de la seconde?

Questions connexes