将布尔值作为请求参数发送

10

在我的网络应用程序中,我有一个名为“创建新用户”的链接。从jsp页面向服务器发送一些请求,例如 -

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

这里user.hasPermission[]是一个布尔数组。如果当前用户(即user)拥有创建新用户的权限(即'createUser'),它将返回true。

现在,我正在尝试从我的控制器中获取请求参数的值,例如 -

request.getParameter("hasCreatePermission"); 

但问题在于request.getParameter()返回一个String。那么我如何从参数中获取布尔值呢?request.getParameter()方法没有针对boolean类型的重载版本。


2
为什么不使用Boolean.parseBoolean()? - mushfek0001
4个回答

13

我认为这是不可能的。请求始终是字符串内容。但是您可以执行其他操作。

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

6
如果你确定它是一个布尔值,你可以使用:
boolean value = Boolean.valueOf(yourStringValue)

4

所有参数都由Servlet作为字符串翻译。您需要将字符串的值转换为布尔值。

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

为了避免手动解析,您需要使用像Spring MVC或Struts这样的框架。

0
在Servlet中,它将接受用户给出的所有输入作为字符串。因此,在获取到输入后,我们应该对其进行解析。

e.g

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

我认为这对你会有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接