ajaxtag實現級聯下拉框的例子

來源:互聯網
上載者:User

ajaxtag的版本是1.3 beta rc7;

package com.work.ganjian;import java.util.List;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.ajaxtags.servlets.BaseAjaxServlet;import org.ajaxtags.xml.AjaxXmlBuilder;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import com.work.core.spring.MyBeanUtil;import com.work.ganjian.model.Xjjgzylb;import com.work.ganjian.xjjgzylb.XjjgzylbServiceDao;/** * 級聯下拉框,根據企業的id來尋找下面對應的繭站的資訊。 *  * @author wangmingjie *  */public class GetJianZhanServlet extends BaseAjaxServlet {/** *  */private static final long serialVersionUID = -8720069517080929174L;private static Log log = LogFactory.getLog(GetJianZhanServlet.class);/* * (non-Javadoc) *  * @see org.ajaxtags.servlets.BaseAjaxServlet#getXmlContent(javax.servlet.http.HttpServletRequest, *      javax.servlet.http.HttpServletResponse) */public String getXmlContent(HttpServletRequest request,HttpServletResponse response) throws Exception {String xjqyid = request.getParameter("xjqyid"); // 首先擷取參數String emptyFlag = request.getParameter("emptyFlag"); // 是否有空選項boolean flag = false;if (emptyFlag == null || emptyFlag.trim().equals("")) {flag = false;} else if (emptyFlag.trim().equals("true")) {flag = true;} else {flag = false;}AjaxXmlBuilder xml = new AjaxXmlBuilder();if (flag)xml.addItem("請選擇", "");if (xjqyid == null || "".equals(xjqyid.trim())) {return xml.toString();// 返回xml}XjjgzylbServiceDao xjjgzylbServiceDao = (XjjgzylbServiceDao) MyBeanUtil.getBean("xjjgzylbServiceDao");List<Xjjgzylb> xjjgzylbs = xjjgzylbServiceDao.getXjjgzylbsByXjqyId(xjqyid);for (Xjjgzylb xjjgzylb : xjjgzylbs) {xml.addItem(xjjgzylb.getMc(), xjjgzylb.getId());}log.debug("查詢到了" + xml.toString());return xml.toString();// 返回xml}}
在web.xml配置servlet
<servlet><servlet-name>GetJianZhanServlet</servlet-name><servlet-class>com.work.ganjian.GetJianZhanServlet</servlet-class></servlet><servlet-mapping><servlet-name>GetJianZhanServlet</servlet-name><url-pattern>/GetJianZhanServlet</url-pattern></servlet-mapping>
編寫jsp檔案
<%@ page contentType="text/html; charset=UTF-8"%><%@taglib prefix="s" uri="/struts-tags"%><%@ taglib uri="http://ajaxtags.org/tags/ajax" prefix="ajax" %><% response.setHeader("Pragma", "No-cache");response.setHeader("Cache-Control", "no-cache");response.setDateHeader("Expires", 0);%><html><head><title>使用者登陸</title><link href="${pageContext.request.contextPath}/css/styleqxgl.css" rel="stylesheet" type="text/css"><script type="text/javascript">function refresh(){document.getElementById("authImage").src='<s:url value="/authImage" />?now=' + new Date();//增加參數是為了防止緩衝圖片}function bringToTop() {    if( self != top ) {      top.location.href = self.location.href;    }}function init(){document.forms[0].userAccount.focus();}</script><link rel="stylesheet" type="text/css" href="<s:url value="/css/ajaxtags/ajaxtags.css" />" /><link rel="stylesheet" type="text/css" href="<s:url value="/css/ajaxtags/displaytag.css" />" /><script type="text/javascript" src="<s:url value="/js/ajaxtags/prototype.js" />"></script><script type="text/javascript" src="<s:url value="/js/ajaxtags/scriptaculous/scriptaculous.js" />"></script><script type="text/javascript" src="<s:url value="/js/ajaxtags/overlibmws/overlibmws.js" />"></script><script type="text/javascript" src="<s:url value="/js/ajaxtags/overlibmws/overlibmws_crossframe.js" />"></script><script type="text/javascript" src="<s:url value="/js/ajaxtags/overlibmws/overlibmws_iframe.js" />"></script><script type="text/javascript" src="<s:url value="/js/ajaxtags/overlibmws/overlibmws_hide.js" />"></script><script type="text/javascript" src="<s:url value="/js/ajaxtags/overlibmws/overlibmws_shadow.js" />"></script><script type="text/javascript" src="<s:url value="/js/ajaxtags/ajax/ajaxtags.js" />"></script><script type="text/javascript" src="<s:url value="/js/ajaxtags/ajax/ajaxtags_controls.js" />"></script><script type="text/javascript" src="<s:url value="/js/ajaxtags/ajax/ajaxtags_parser.js" />"></script>  </head><body><select name="xjjgzsgl.xjqy.id" id="xjqyid">    <option value="">請選擇</option>    <option value="100c9a73f9894e259164cfd7a6b0b261">XX絲綢廠</option>    <option value="402881601a2f37a6011a2f37a6e40000">XXX繭站XXX企業</option></select><select id="xjjgzylbid" disabled="disabled">  <option value="">請選擇繭站</option></select><br><input type="button" class="button11" value="擷取頁面內容" onclick="getHtml()"><div><textarea id="htmlContent" rows="10" cols="90"></textarea></div><span id="progressMsg" style="display:none;"><img alt="Indicator" src="<s:url value="/images/ajaxtags/indicator.gif" />" /> Loading...</span><div id="errorMsg" style="display:none;border:1px solid #e00;background-color:#fee;padding:2px;margin-top:8px;width:300px;font:normal 12px Arial;color:#900"></div><script type="text/javascript">function getHtml(){//alert(document.body.innerHTML );//htmlContent.innerHTML = document.body.innerHTML;htmlContent.value = document.body.innerHTML;} /*  * USER DEFINED FUNCTIONS  */function initProgress() {  Element.show('progressMsg');}function resetProgress() {  // show marker emblem  var index = $('xjqyid').selectedIndex;  var automaker = $('xjqyid').options[index].text;  Effect.Fade('progressMsg');}function reportError() {  if ($('xjjgzylbid').options.length == 0) {    $('errorMsg').innerHTML = "串聯更新失敗!";  }  Element.show('errorMsg');  setTimeout("Effect.DropOut('errorMsg')", 2500);}</script><ajax:select  baseUrl="${pageContext.request.contextPath}/GetJianZhanServlet"  source="xjqyid"  target="xjjgzylbid"  parameters="xjqyid={xjqyid},emptyFlag=true"  preFunction="initProgress"  emptyOptionName="請選擇繭站"  emptyOptionValue=""  postFunction="resetProgress"  errorFunction="reportError" />   </body></html>

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.