import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import com.autotoll.jv.erp.proxy.PortletActionBeanProxy;
import com.liferay.portal.struts.AJAXAction;
import com.liferay.portal.theme.ThemeDisplay;
import com.liferay.portal.util.WebKeys;
import com.autotoll.jv.pojo.impl.Citytable;
public class ShowCityAjax extends AJAXAction{
public String getText(ActionMapping arg0, ActionForm arg1,
HttpServletRequest request, HttpServletResponse response) throws Exception {
ThemeDisplay themeDisplay =
(ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
String language = themeDisplay.getLanguageId();
String pid = request.getParameter("pid");
String cityId = "";
String cityName = "";
Document document = DocumentHelper.createDocument();
Element root = document.addElement("city");
if (pid !=null && ! pid.trim().equals("")) {
List<Citytable> list =
PortletActionBeanProxy.getInstance().
getCityTableSvc().findCityByPId(Long.parseLong(pid));
if (list !=null && list.size()>0) {
for (Citytable city :list) {
cityId = city.getCityid().toString();
if(language.trim().equals("zh_CN")) {
cityName = city.getCitynameSc();
} else if(language.trim().equals("zh_TW")) {
cityName = city.getCitynameTc();
} else {
cityName = city.getCitynameEng();
}
Element cId = root.addElement("cityId");
Element cName = root.addElement("cityName");
cId.addText(cityId);
cName.addText(cityName);
}
}
}
// System.out.println(root.asXML());
return root.asXML();
}
jsp 页面:
function toXML(strxml){
try{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.loadXML(strxml);
} catch(e){
var oParser=new DOMParser();
xmlDoc=oParser.parseFromString(strxml,"text/xml");
}
return xmlDoc;
}
function getCity(obj){
var pid = obj.options[obj.selectedIndex].value;
if (pid != "") {
jQuery.ajax(
{url: '<%= themeDisplay.getPathMain() %>/erp/showCity',
data: {pid:pid},
success: setOptions});
} else {
var selectObj = document.getElementById('city_');
selectObj.options.length = 0;
selectObj.options.add(new Option('<liferay-ui:message key="erp.select.option.choose"/>',""));
document.getElementById("address-alert-span").style.display = "";
}
}
function setOptions(xml) {
var radioValue = getRadioValue();
var selectObj = document.getElementById('city_');
selectObj.options.length = 0;
var xmlobj = toXML(xml);
var cidArr = xmlobj.getElementsByTagName('city/cityId');
var cNameArr = xmlobj.getElementsByTagName('city/cityName');
selectObj.options.add(new Option('<liferay-ui:message key="erp.select.option.choose"/>',""));
for(var i=0; i<cidArr.length; i++){
selectObj.options.add(new Option(cNameArr[i].childNodes(0).nodeValue,cidArr[i].childNodes(0).nodeValue));
}
document.getElementById('city').value=cidArr[0].childNodes(0).nodeValue;
if (document.getElementById('city').value != "" && document.getElementById('address').value != "") {
document.getElementById("address-alert-span").style.display = "none";
} else {
document.getElementById("address-alert-span").style.display = "";
}
}
分享到:
相关推荐
本实例中,我们将探讨如何使用 Java 作为后端服务器处理 XML,而 jQuery 作为前端 JavaScript 库来发送请求和处理返回的 XML 数据。 首先,我们来看前端部分,即 jQuery 的使用。在 `AjaxJqueryXml.js` 文件中,`...
Web服务(WebService)是一种基于网络的、分布式的模块化组件,它使用标准的XML(可扩展标记语言)来封装...通过理解并掌握这些概念,开发者可以创建和使用返回XML格式数据的WebService,实现不同应用之间的数据交换。
通常,这涉及到将Jquery的功能转化为JSON或XML格式,通过HTTP请求在Java后端和前端之间传递数据。 1. **集成Jquery库** - 在Java项目中,我们通常使用JSP(Java Server Pages)来编写前端代码。可以将Jquery库的....
通过编写前端的jQuery AJAX请求和后端的Java处理逻辑,你可以创建动态、高效的Web应用程序。在开发过程中,记得利用源码管理和版本控制工具(如Git),以及各种开发工具,以提高开发效率和代码质量。
2. **JSON数据交换**:Java服务器端通常以JSON格式返回数据,jQuery可以方便地解析JSON对象,更新DOM元素,实现动态数据展示。 3. **服务器端验证**:虽然主要的验证应在服务器端完成,但Java开发者也可能需要编写...
JDOM允许开发者以Java对象模型的方式来处理XML,这使得XML数据的处理变得更加直观和易于理解。 在Java中导入XML数据到数据库时,我们首先需要使用JDOM解析XML文件,创建一个Document对象,然后通过XPath或DOM遍历...
综上所述,"Java通过jQuery实现ajax异步请求"的示例工程涵盖了客户端与服务器端的交互流程,包括使用jQuery发起AJAX请求、Java后端处理请求并返回数据,以及数据格式的转换和错误处理。了解并掌握这些知识点,对于...
在这个项目中,用户输入关键词时,将通过AJAX异步请求发送到服务器,服务器端使用Java进行处理,然后返回相关的搜索结果,这一切都在不刷新页面的情况下完成,与百度搜索类似。 【描述解析】 "JAVA___jQuery+AJAX_...
3. **Servlet与jQuery**:jQuery发起的Ajax请求可以直接与Servlet交互,Servlet处理请求并返回JSON数据,jQuery解析数据并更新页面。 **在Java项目中引入jQuery** 1. **下载jQuery库**:可以从官方网站或通过npm、...
当请求成功时,jQuery可以帮助我们轻松地将返回的数据插入到网页的适当位置,更新天气信息。 此外,jQuery还提供了丰富的动画效果,可以用于创建吸引用户的交互体验。例如,当用户点击查询按钮时,可以添加一个加载...
下面将详细讲解如何使用jQuery处理这两种数据类型。 首先,jQuery中的AJAX请求主要有三种基本方法:`$.post()`, `$.get()` 和 `$.ajax()`。这些方法都可以用于异步提交数据,但它们的用法和灵活性有所不同。 1. `$...
2. **解析XML数据**:在回调函数中,`$(data)`将返回的XML文档转换为一个类似DOM的对象,便于使用jQuery的DOM选择器进行操作。 3. **提取数据**:使用`.find('book')`来定位所有`<book>`元素,然后通过`.each()`...
总的来说,这个项目展示了前端和后端技术的结合,通过jQuery简化前端交互,利用AJAX实现实时搜索,而Java后端则负责处理数据检索和处理逻辑。这种技术组合在现代Web开发中非常常见,能够提供快速响应和流畅的用户...
在IT行业中,JavaScript库JQuery极大地简化了前端与后端的交互,特别是在处理异步数据交换时,Ajax(Asynchronous JavaScript and XML)技术扮演着关键角色。本篇将深入探讨基于Jquery的Ajax如何与Java后台进行交互...
"java+jsp+ajax+jst+jquery实例"涉及了Web开发中的多个关键技术和实践,主要关注Java后端、JSP(Java Server Pages)前端、Ajax(Asynchronous JavaScript and XML)、JST(JavaScript Templates)以及jQuery这五个...
在这个例子中,jQuery会自动将服务器返回的XML转换为一个可操作的jQuery对象,然后遍历XML中的元素,获取属性值并展示在页面上。 总结,XML数据解析在IT领域中扮演着重要角色。JDOM和DOM4J作为Java环境下的XML处理...
本实例将重点关注如何结合Java和jQuery实现分页与验证功能,特别是针对SSH(Struts2、Spring、Hibernate)框架的应用。 首先,SSH框架是一个流行的Java Web开发框架组合,用于构建高效、可维护的Web应用。Struts2...
Struts2 jQuery XML 是一个基于Java的Web开发框架的组合,它将Apache Struts2的MVC架构与jQuery库结合,提供了丰富的用户界面组件和更流畅的AJAX交互。Struts2是一个强大的、灵活的MVC框架,而jQuery则简化了...