2015-03-25 9 views
9

Nella mia applicazione Web ho un collegamento - "Crea nuovo utente". Dal jsp io mando qualche richiesta al server, come -Invio booleano come parametro di richiesta

<div style="float:right" class="view"> 
<a href="/some/url/createUserMVC.do?hasCreatePermission=${user.hasPermission['createUser']}">Create New User</a> 
</div> 

Qui user.hasPermission[] è un array di boolean. Se l'utente corrente (ovvero user) ha il permesso (ovvero 'createUser') per creare un nuovo utente, esso restituisce true.

Ora dal mio controllo Sto cercando di ottenere il valore del parametro di richiesta, come -

request.getParameter("hasCreatePermission"); 

Ma il problema è request.getParameter() restituisce un String. Quindi, come posso ottenere il valore booleano dal parametro. Non esiste una versione sovraccaricata del metodo request.getParameter() per boolean.

+1

Perché non usi Boolean.parseBoolean()? – mushfek0001

risposta

10

Non credo sia possibile. La richiesta è sempre il contenuto di stringhe. Ma si può fare

boolean hasCreatePermission= Boolean.parseBoolean(request.getParameter("hasCreatePermission")); 
6

Se sei sicuro che sia un valore booleano è possibile utilizzare

boolean value = Boolean.valueOf(yourStringValue) 
4

Tutti i parametri sono tradotti da servelt come String. Devi convertire il valore di String in Boolean.

Boolean.parseBoolean(request.getParameter("hasCreatePermission")); 

Per evitare l'analisi manuale, è necessario utilizzare un framework come Spring MVC o Struts.

0

In servlet accetta tutti gli input forniti dagli utenti come stringa. Quindi, dovremmo analizzare l'input dopo aver ottenuto gli input.

es

boolean flag = Boolean.parseBoolean(req.getParameter("Flag ")); 

penso che questo sarà utile per voi.