string tablename = Request.QueryString["tablename"].Trim(); System.NullReferenceException:“未将对象引用设置到对象的实例。”
时间: 2024-05-14 10:18:45 浏览: 144
这个错误通常表示在代码中使用了一个空对象。在这个例子中,可能是因为 `Request.QueryString["tablename"]` 返回了 null,导致调用 `.Trim()` 方法时出现了空引用异常。
为了避免这个错误,我们需要在使用变量之前对其进行空值检查。可以尝试使用下面的代码:
```
string tablename = Request.QueryString["tablename"];
if (!string.IsNullOrEmpty(tablename)) {
tablename = tablename.Trim();
// 此处可以继续使用 tablename 变量
}
else {
// 处理 tablename 为空的情况
}
```
或者使用 C# 6.0 的空合并运算符简化代码:
```
string tablename = Request.QueryString["tablename"]?.Trim();
if (!string.IsNullOrEmpty(tablename)) {
// 此处可以继续使用 tablename 变量
}
else {
// 处理 tablename 为空的情况
}
```
这种方法使用了空值传播操作符 `?.`,如果 `Request.QueryString["tablename"]` 为 null,它会返回 null 而不会抛出异常。然后再使用 `string.IsNullOrEmpty()` 方法检查变量的值是否为空。
相关问题
String tableName = request.getSession().getAttribute("tableName").toString();
这段代码是从一个HttpServletRequest对象中获取名为"tableName"的Session属性,并将其转换为字符串类型赋值给tableName变量。
getSession()方法获取当前请求的会话对象,getAttribute()方法获取会话对象中名为"tableName"的属性值,toString()方法将该属性值转换为字符串类型。如果该属性不存在或无法转换为字符串类型,将会抛出异常。
public R page(@RequestParam Map<String, Object> params,BaomingxinxiEntity baomingxinxi, HttpServletRequest request){ String tableName = request.getSession().getAttribute("tableName").toString(); if(tableName.equals("yuangong")) { baomingxinxi.setYuangonggonghao((String)request.getSession().getAttribute("username")); }
这段代码是一个Java的Controller层中的方法,用于处理分页查询请求。其中,@RequestParam注解表示该方法可以接收HTTP请求的参数,params是一个Map类型的对象,用于存储请求中的参数;BaomingxinxiEntity是一个实体类,用于封装查询条件;HttpServletRequest是一个Java Web开发中常用的对象,用于获取HTTP请求相关的信息。
在该方法中,首先获取存储在Session中的tableName属性,判断是否为"yuangong",如果是,则将当前登录用户的工号设置为查询条件中的"Yuangonggonghao"属性。然后调用Service层中的方法进行分页查询,并返回查询结果。
阅读全文
相关推荐

















