后台数据无法再JSP前台显示

OneMoreFreeMan 2017-11-09 05:14:25
当在JSP网页(device.jsp)中的select控件进行选择后,我采用ajax把所选择的值传递到后台action。后台收到该选项值后,进行处理,再把处理结果显示到原来的JSP网页(device.jsp)中。

select控件的onchange函数如下, 通过ajax把所选择的值deviceIDValue, 传递到后台EditDeviceBehavior.action了:

var newRequest;
function getDevice()
{
var deviceIDValue = document.forms[0].device.value;
newRequest = new XMLHttpRequest();
var url = "EditDeviceBehavior.do?action=Create&device=" + deviceIDValue;
newRequest.open("get", url, true);
newRequest.onreadystatechange = processResponse;
newRequest.send(null);
return;
}

在EditDeviceBehavior.action中通过request.getParameter("device");我的确也得到了url中传来的值。
我把收到的值处理后, 把结果放到request.setAttribute("result", result);中,但是该结果在下面的javascript中显示不出来。

function processResponse()
{
if(newRequest.readyState == 4 && newRequest.status == 200)
{
<%
String myResult = (String)request.getAttribute("result"); // Statement A
if (myResult != null)
{

%>
alert(<%=myResult %>); // Statement B, 不执行
<%
System.out.println(myResult ); // Statement C, 执行
}
%>
}
return;
}

结果alert(<%=myResult %>); // Statement B, 就是不执行,无法把后台的数据传递到前端的JSP中。但是后面的System.out.println(myResult ); // Statement C,却能成功执行。

另外,如果把String myResult = (String)request.getAttribute("result"); // Statement A 改成了String myResult = "1234";则后面的Statement B和Statement C都能成功的执行。

各位大神帮忙看看这个问题,它困扰我好几天了。非常感谢了!!!
...全文
544 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 3 楼 OneMoreFreeMan 的回复:
感谢net_lover的回复,原因是JSP表达式<%=%>需要被引号包括起来"<%=%>"。 但我还有一点不明白,为什么myResult的赋值不同,同样的语句效果是不同的。希望能得到解答。 String myResult = (String)request.getAttribute("result"); alert(<%=myResult %>); 是不能运行的。 String myResult = "1234"; alert(<%=myResult %>); 是能运行的。
认真看1#的说明, 编译后客户端的js代码:alert(Statement A) 这种js代码是错误的
OneMoreFreeMan 2017-11-10
  • 打赏
  • 举报
回复
感谢net_lover的回复,原因是JSP表达式<%=%>需要被引号包括起来"<%=%>"。 但我还有一点不明白,为什么myResult的赋值不同,同样的语句效果是不同的。希望能得到解答。 String myResult = (String)request.getAttribute("result"); alert(<%=myResult %>); 是不能运行的。 String myResult = "1234"; alert(<%=myResult %>); 是能运行的。
  • 打赏
  • 举报
回复
引号括起作为字符串,要不非数字或者布尔变量要出错了,

Web开发学习资料推荐
jquery全年日期选择器日历插件
孟子E章 2017-11-09
  • 打赏
  • 举报
回复
alert(<%=myResult %>); / 要这样写 alert(“<%=myResult %>”); alert(Statement A) 是错误的js语法 alert(1234) 是正确的js语法
酒店管理系统分为前台后台两个部分,其中后台供管理员管理系统之用,包括客房类型设置模块、客房设置模块以及操作员设置三个子模块,具体的功能模块如下。 客房类型设置模块:该模块用来管理酒店的所有客房类型,包括新增客房类型、编辑已有客房类型、删除客房类型等功能。 客房设置模块:该模块用来管理酒店的所有客房信息,包括新增客房、编辑已有客房、删除客房等功能。 操作员设置模块:该模块用来管理酒店的操作员信息,包括新增操作员、编辑已有操作员信息、删除操作信息等功能。 系统前台供酒店所有工作人员使用,包括入住登记模块、结账模块、预定模块、客户管理模块以及业务统计五个模块。具体的功能模块如下。 入住登记模块:该模块用来登记客户的入住信息,其中入住信息包括登记信息、客人信息以及费用信息三部分。 结账模块:该模块用来处理客户的退房信息,只需要知道客户所住的房间号码,就能进行退房结账。 预定模块:该模块用来处理客户的预定信息,除了可以新增预定信息外,还可以对已有的预定信息进行管理。 客户管理模块:该模块用来管理客户的登记信息,包括新增客户信息、编译已有客户信息、删除客户信息等功能。 业务统计模块:该模块用来统计酒店的客房出租率,并且已图形报表的形式来显示出租率信息。 本系统的开发工具具体如下。 系统开发平台:MyEclipse 6.5。 数据库管理系统软件:MySQL 5.0。 java开发包:JDK 5.0以上。 Web服务器:Tomcat 6.0。 本系统采用MVC架构模式开发,具体技术如下。 AJAX框架:使用ExtJS技术开发 显示层:使用JSP技术开发 数据访问层:使用DAO模式开发 持久层:使用Hibernate框架开发 首页访问地址 :http://localhost:8080/JavaPrj_9/首页配置 页面 修改 打开web.xml 修改 即可 /WEB-INF/pages/userLogin.jsp 复制代码 数据库配置 为hotel-hibernate.xml 文件 测试了将近2个小时 系统跑的还不错 一下小细节 bug 大家可以自己去调整下

52,792

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧