发送布尔值作为请求参数

Sending boolean as request parameter

在我的网络应用程序中,我有一个 link - "Create New User"。从 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'),则 returns 为真。

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

request.getParameter("hasCreatePermission"); 

但是问题是request.getParameter()returns一个String。那么如何从参数中获取布尔值。 boolean 没有 request.getParameter() 方法的重载版本。

我认为这是不可能的。请求始终是 String 内容。但你可以做到

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

如果您确定它是一个布尔值,您可以使用

boolean value = Boolean.valueOf(yourStringValue)

所有参数都被servelt翻译成字符串。您需要将 String 的值转换为 Boolean。

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

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

在servlet中它会接受用户给的所有输入作为string.So,我们应该在得到输入后解析输入。

例如

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

我想这对你有用。