栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用request.setAttribute时获取空值并获取

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用request.setAttribute时获取空值并获取

您说JSP中的代码是这样的:

if(response=="existsnoadmin"){    alert(response);    alert("The value obtained by the admin.java is " +request.getAttribute("rest"));    out.println("The value obtained by the admin.java is " +request.getAttribute("rest"));    alert("we have done in index.jsp");}

我在理解这到底意味着什么时遇到了问题。

如果上面的代码是出现在scriptlet标签

<%

内的Java代码
%>
,那么我不明白该如何
alert(response);
显示任何内容。实际上,它应该给您JSP中的编译错误。

另一方面,如果以上是JSP生成的页面中嵌入的Javascript代码,则

  • request.getAttribute("rest")
    可能无法工作…因为您设置属性的请求对象在Web浏览器中不存在,并且

  • out.println(...)
    无法使用,因为Web浏览器中不存在JspWriter。

您可能没有准确地抄录JSP摘录,或者您的Java和/或Javascript没有意义。


根据您的评论,我认为您需要以下内容。

if(response=="existsnoadmin"){    alert(response);    alert('The value obtained by the admin.java is ' +          '<% request.getAttribute("rest") %>');    // The value obtained by the admin.java is <% request.getAttribute("rest") %>}

或者,如果您想摆脱小本票的东西…

if(response=="existsnoadmin"){    alert(response);    alert('The value obtained by the admin.java is ' +          '${requestScope.rest"}');    // The value obtained by the admin.java is ${requestScope.rest"}}

如果您希望将我已经变成

//
JS注释的内容显示在页面上,则可以将其移至HTML的某些内容部分。当前(假设)在
<script>
元素内部,因此将不会显示。

所有这些黑魔法的关键是要了解JSP的哪些部分可以通过以下方式查看/评估:

  • JSP指令例如
    <@ import ...>
    由JSP编译器评估。
  • 当“运行” JSP时,会评估脚本集标记(例如
    <% ... %>
    EL表达式)
    ${...}
    或JSTL标记(例如
    <c:out ...>
    )内的内容。
  • 收到HTTP响应后,由JSP生成的任何内容(HTML内容,嵌入式Javascript)都会在用户浏览器中显示/执行。

现在有必要在admin.java中使用request.dispatcher .... forward命令。

您的主Servlet可以执行以下两项操作之一。

  • 它可以使用请求分派器将请求转发到您的JSP。如果这样做,则可以通过设置请求属性来转发其他值。

  • 它可以打开响应输出流并向其中写入内容。

不应该 尝试同时做!(我不确定会发生什么,但是很可能会导致500内部错误。)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/405955.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号