2015-03-25 5 views
9

В моем веб-приложении у меня есть ссылка - «Создать нового пользователя». Из jsp я посылаю некоторые запрос на сервер, как -Отправка логического параметра запроса

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

Здесь user.hasPermission[] является массивом boolean. Если текущий пользователь (то есть user) имеет разрешение (то есть «createUser») для создания нового пользователя, чем возвращает true.

Теперь из моего контроллера я пытаюсь получить значение из параметра запроса, как -

request.getParameter("hasCreatePermission"); 

Но проблема request.getParameter() возвращает String. Итак, как я могу получить логическое значение из параметра. Нет перегруженной версии метода request.getParameter() для boolean.

+1

Почему вы не используете Boolean.parseBoolean()? – mushfek0001

ответ

10

Я не думаю, что это возможно. Запрос всегда содержит контент String. Но вы можете сделать

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

Если вы уверены, что это логическое значение вы можете использовать

boolean value = Boolean.valueOf(yourStringValue) 
4

Все параметры переводятся servelt как String. Вам нужно преобразовать значение String в Boolean.

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

Чтобы избежать ручного анализа, вы должны использовать фреймворк, например Spring MVC или Struts.

0

В сервлете он будет принимать все входы, данные пользователей как string.Таким образом, мы должны проанализировать ввод после того, как мы получим входы.

например

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

Я думаю, что это будет полезно для вас.

Смежные вопросы