pal*_*laa 2 parameters attributes servlets parameter-passing
我在代码的正常执行中给一个字符串变量一个值,但是如果发生异常,我会给它另一个值,问题是在catch块中,该值仍然与我首先分配的值相同.
这是我的代码,首先我在try块中分配页面值"addUser",然后在catch中给它"ErrorPage"值,我将http请求中的页面值发送到forword方法,在里面我打印页面的值.我在代码的执行中导致错误,我希望它通过catch块,它确实如此,但是当它将页面值发送到forword函数时,页面的值是"addUser"而不是"ErrorPage"尽管我指定它到"ErrorPage"!!
String page = "addUser";
try {
// ...
request.setAttribute("page", page);
forward(request, response);
} catch (SQLException e) {
page = "ErrorPage";
request.setAttribute("page", page);
forward(request, response);
}
Run Code Online (Sandbox Code Playgroud)
这是forword函数
String page = request.getParameter("page");
System.out.println("page is " + page); // each time it prints addUSer
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?和thanx提前.
你打电话request.getParameter()而不是request.getAttribute()获取价值.由于您已将其设置为请求属性,因此您还应将其作为请求属性获取.
所以:
request.setAttribute("foo", foo);
Run Code Online (Sandbox Code Playgroud)
只有
Object foo = request.getAttribute("foo"); // NOT getParameter().
Run Code Online (Sandbox Code Playgroud)
这getParameter()仅适用于HTTP请求参数,您可以在请求URL或HTML表单的输入字段中指定.
| 归档时间: |
|
| 查看次数: |
755 次 |
| 最近记录: |