http://wenku.baidu.com/view/2ddf3843be1e650e52ea99e5.html
json调用jsp页面,jsp页面中加载公司标签的实现过程(json 异步)
1、jsp中写的json:
var isAskUrl = "<c:url value='/ask/ajax/isAskJson.shtm' />"
$.getJSON(isAskUrl,{userID:hiddenUserId,faqPrice:price,ranNum:Math.random()},function(data){
if(data != 1 ){
alert("金额不足,不能提问!");
}else{
}
});
2、要访问的isAskJson.jsp页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/jsp/common/common.jsp" %>
<%@ taglib tagdir="/WEB-INF/tags/fee" prefix="fee" %>
<%@ include file="/WEB-INF/jsp/login/loginCheck.jsp" %>
<fee:isAsk var="result" userID="${param.userID}" faqPrice="${param.faqPrice}"></fee:isAsk>
<c:if test="${not empty result and result eq 1}">
<util:writeJson value="[1]"></util:writeJson>
</c:if>
<c:if test="${empty result or result ne 1}">
<util:writeJson value="[0]"></util:writeJson>
</c:if>
3、isAsk.tag 的代码
<%@ attribute
name="userID"
type="java.lang.Integer"
required="true"
%>
<%@ attribute
name="faqPrice"
type="java.lang.Float"
required="true"
%>
<%@
attribute
name="var"
type="java.lang.String"
required="true"
%>
<%@ tag
import="com.huabeisai.rad3.ibatis2.SqlMapTemplate,com.huabeisai.fee.domain.UserAccount,
javax.servlet.jsp.PageContext,java.util.*"
dynamic-attributes="dynamicAttributes"
description="是否可以提问" %>
<%
Integer userID = (Integer)jspContext.getAttribute("userID");
Float faqPrice = (Float)jspContext.getAttribute("faqPrice");
int rtInt = 0;
if(userID == null){
return;
}
if(faqPrice == null || faqPrice < 0){
return;
}
Map paramMap = new HashMap();
paramMap.put("userID",userID);
paramMap.put("accountID",1);
UserAccount userAccount = (UserAccount)SqlMapTemplate.selectObject("fee","ns.op.feeApi.getUserAccount",paramMap);
if(userAccount != null && userAccount.getUsableMoney() != null && userAccount.getUsableMoney() > 0){
Float usableMoney = userAccount.getUsableMoney();
if(usableMoney >= faqPrice){
rtInt = 1;
}else {
rtInt = 0;
}
}else{
rtInt = 0;
}
jspContext.setAttribute(var,rtInt,PageContext.REQUEST_SCOPE);
%>
第二版不用数据库的异步交互过程:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/jsp/common/common.jsp" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<script>
function ckc(vl){
var isAskUrl = "<c:url value='/ask/ajax/isJson.shtm' />"
var numh=vl.value;
$.getJSON(isAskUrl,{numh:numh,ranNum:Math.random()},function(data){
document.getElementById("inputid").value=data;
});
}
</script>
<body>
<input type="text" value="" onpropertychange="ckc(this);"/><br></br>
<input type="text" value="" id="inputid"/>
</body>
</html>
2、要访问的isJson.jsp页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/jsp/common/common.jsp" %>
<%@ taglib tagdir="/WEB-INF/tags/fee" prefix="fee" %>
<%
int paramvalue=Integer.parseInt(request.getParameter("numh"));
%>
<util:writeJson value="[111]"></util:writeJson>
分享到:
相关推荐
在JSP页面中,我们可以使用JavaScript来构造JSON对象,并通过Ajax调用来发送请求。Ajax允许我们在不刷新整个页面的情况下与服务器进行通信。这里的关键是XMLHttpRequest对象,它是JavaScript的内置对象,用于创建...
在Web开发中,JSON(JavaScript Object Notation)和AJAX(Asynchronous JavaScript and XML)是两种常见的技术,用于实现客户端与服务器之间的数据交互。在这个场景中,JSON2库被用作JSON的一个支持库,可能是因为...
在Java服务器页面(JSP)开发中,与前端交互是一个常见的需求,这通常涉及到异步JavaScript和XML(Ajax)技术。Ajax允许我们在不刷新整个页面的情况下更新部分网页内容,极大地提升了用户体验。在JSP中使用Ajax,...
在这个“json_jsp_jQuery 无刷新登录”的例子中,我们将探讨如何利用这三个技术实现一个无需页面刷新的登录系统。 首先,用户在前端界面(HTML页面)填写用户名和密码,这些数据通过jQuery的AJAX(Asynchronous ...
在网页开发中,AJAX...总之,"ajax实现jsp页面表格"是一个基础但实用的教程,涵盖了AJAX技术在网页动态更新中的应用,结合了JSP、JavaScript、数据库和JSON,为初学者提供了一个了解现代Web开发技术的实践平台。
在实际项目中,"TreeMenu"这个文件可能包含了实现上述功能的JSP页面、JavaScript脚本、CSS样式和可能的Java后端代码。通过分析和理解这些代码,开发者可以学习如何在Web应用中构建可交互的菜单树。
在JSP(Java Server Pages)开发中,为了提高用户体验,我们常常需要实现异步无刷新的数据分页。这种技术利用了Ajax(Asynchronous JavaScript and XML)的优势,可以在不重新加载整个页面的情况下,从服务器获取并...
其中,jQuery的Ajax功能可以实现异步数据交换,无需刷新整个页面即可更新部分页面内容。本文将详细介绍如何使用jQuery的Ajax方法调用后端JSP页面,处理JSON数据。 首先,前端使用jQuery的Ajax方法`jQuery.get()`来...
5. **Ajax 支持**:简化异步请求过程,方便前后端数据交互。 ### 二、JSON (JavaScript Object Notation) JSON 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在 Web 应用中,JSON 常...
在Struts2中,异步调用机制是实现页面动态更新和提高用户体验的关键技术之一。这个案例“struts014”很可能展示了如何在Struts2中实现异步调用来处理耗时操作,如数据库查询或复杂计算。 异步调用的基本概念是,...
在Web开发中,Ajax(Asynchronous JavaScript and XML)技术被广泛用于实现页面的无刷新更新,提高用户体验。本文将深入探讨Ajax如何与JSP(JavaServer Pages)和Servlet结合,实现动态加载数据。 首先,我们需要...
在WEB开发中引入了基于JSON_RPC异步通讯技术,尽可能多地将访问WEB服务器与访问数据服务器的操作放在服务器端执行,只在客户端提供调用WEB操作的接口,不仅实现了WEB开发的异步通信,而且将面向对象操作应用于客户端...
Struts2是一个强大的Java web应用程序框架,它提供了一种组织应用结构和控制流程的方式,而Struts2的异步调用功能则是为了提高用户体验,通过AJAX技术实现在不刷新整个页面的情况下更新部分视图。在本案例"Struts2之...
3. **JavaScript**:前端的三级联动效果可以通过JavaScript实现,例如使用AJAX异步请求获取省、市、区的数据,根据用户选择的上级地区动态加载下级地区的选项。 4. **Servlet**:当用户提交表单时,JSP页面会把数据...
在JSON+Jquery+servlet的例子中,JSP可能用来生成包含AJAX调用的HTML页面,或者在某些情况下,用于展示从Servlet接收到的JSON数据。 AJAX(Asynchronous JavaScript and XML)是一种在不刷新整个页面的情况下,能够...
在Web开发中,异步请求是一种提升用户体验的重要技术,它允许页面在不刷新整个页面的情况下与服务器进行数据交互。本文将详细讲解如何使用JQuery、JSON和Struts2框架来实现Ajax异步请求。 首先,JQuery是一个轻量级...
- 在JSP页面中嵌入JavaScript代码时,通常将其放在`<script>`标签内。 - 可以通过`document.getElementById`等方法获取页面元素,进行DOM操作。 - 使用AJAX技术与服务器端进行异步通信,实现无刷新更新页面内容。 #...
在 Web 开发中,AJAX (Asynchronous JavaScript and XML) 技术常常结合 JSON-RPC 实现异步交互,提供更流畅的用户体验。 在您提到的场景中,使用的是 JSON-RPC-Java 包,这是一个用于 Java 的 JSON-RPC 实现,包括...