如何在JSP页面中从数据库取出数据加入<select>中 在线等答案 还需要从下拉列表中选中一个项目之后能返回不同的值进行页面的刷新 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你说的是级联菜单吧!用ajax 调用 action 然后就返回数据就可以了<SCRIPT type="text/javascript"> function Change_Select(url) { rurl=url; if(window.XMLHttpRequest) { req=new XMLHttpRequest(); }else if(window.ActiveXObject) { req=new ActiveXObject("Microsoft.XMLHTTP"); } if(req) { req.open("GET",rurl,true); req.onreadystatechange=callback; req.send(null); } } function callback() { if(req.readyState == 4) { if(req.status == 200) { parseMessage(); }else{ alert("Not able to retrieve description : "+req.statusText); } } } function parseMessage() { var xmlDoc=req.responseXML; var root=xmlDoc.documentElement; var select_root=document.getElementById("B");//要刷新的 select while(root.hasChildNodes()) { var child=root.firstChild; var option=new Option(child.getAttribute("value"),child.getAttribute("id")); root.removeChild(child); try{ select_root.add(option); }catch(e){ } } } </SCRIPT><html:select property="A" onchange="Change_Select('/Change.do?id='this.id)" > <html:option value="1">1</html:option> <html:option value="2">2</html:option> <html:option value="3">3</html:option> </html:select> <html:select property="B" ></html:select>------------------------------------------Change.java-----------------------------------------import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;public class Change extends Action { public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse res ){ String id=req.getParameter("id"); res.setHeader("Cache-Control", "no-store"); res.setDateHeader("Expires", 0); res.setContentType("text/xml; charset=UTF-8"); try { org.w3c.dom.Document document=javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); org.w3c.dom.Element root=document.createElement("root"); org.w3c.dom.Element child1=document.createElement("child1"); org.w3c.dom.Element child2=document.createElement("child2"); org.w3c.dom.Element child3=document.createElement("child3");] if("1".equals(id)){ child1.setAttribute("id","1"); child1.setAttribute("value","苹果"); child2.setAttribute("id","2"); child2.setAttribute("value","桔子"); child3.setAttribute("id","3"); child3.setAttribute("value","香蕉"); }else{ child1.setAttribute("id","1"); child1.setAttribute("value","大米"); child2.setAttribute("id","2"); child2.setAttribute("value","白面"); child3.setAttribute("id","3"); child3.setAttribute("value","玉米"); } root.appendChild(child1); root.appendChild(child2); root.appendChild(child3); document.appendChild(root); javax.xml.transform.dom.DOMSource doms=new javax.xml.transform.dom.DOMSource(document); javax.xml.transform.stream.StreamResult sr=new javax.xml.transform.stream.StreamResult(res.getOutputStream()); javax.xml.transform.TransformerFactory tf=javax.xml.transform.TransformerFactory.newInstance(); javax.xml.transform.Transformer t=tf.newTransformer(); t.setOutputProperty("encoding","UTF-8"); t.transform(doms,sr); }catch(Exception a){ a.printStackTrace(); } try{ rs.close(); }catch(Exception err1){ System.out.println(err1.getMessage()); } return null; }} 求助,求助。 求教啊 网页跳转了算什么事件 spring2.5的AOP求解? bbs论坛 50分求解决frameset 不刷新 hibernate中父子关系的级联删除的问题 hbm2java出错了 请问Intellij里面的resin插件怎么用阿? jbuilder中开发web services? bmp得find问题? 求孙卫琴的《精通struts 基于mvc的java web设计与开发》的源代码 关于seesion的问题~~
用ajax 调用 action 然后就返回数据就可以了
<SCRIPT type="text/javascript">
function Change_Select(url)
{
rurl=url; if(window.XMLHttpRequest)
{
req=new XMLHttpRequest();
}else if(window.ActiveXObject)
{
req=new ActiveXObject("Microsoft.XMLHTTP");
}
if(req)
{
req.open("GET",rurl,true);
req.onreadystatechange=callback;
req.send(null);
}
}
function callback()
{
if(req.readyState == 4)
{
if(req.status == 200)
{
parseMessage();
}else{
alert("Not able to retrieve description : "+req.statusText);
}
}
}
function parseMessage()
{
var xmlDoc=req.responseXML;
var root=xmlDoc.documentElement;
var select_root=document.getElementById("B");//要刷新的 select
while(root.hasChildNodes())
{
var child=root.firstChild;
var option=new Option(child.getAttribute("value"),child.getAttribute("id"));
root.removeChild(child);
try{
select_root.add(option);
}catch(e){
}
}
}
</SCRIPT>
<html:select property="A" onchange="Change_Select('/Change.do?id='this.id)" >
<html:option value="1">1</html:option>
<html:option value="2">2</html:option>
<html:option value="3">3</html:option>
</html:select>
<html:select property="B" ></html:select>
------------------------------------------
Change.java
-----------------------------------------
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;public class Change extends Action {
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest req,
HttpServletResponse res
){
String id=req.getParameter("id");
res.setHeader("Cache-Control", "no-store");
res.setDateHeader("Expires", 0);
res.setContentType("text/xml; charset=UTF-8");
try
{
org.w3c.dom.Document document=javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
org.w3c.dom.Element root=document.createElement("root"); org.w3c.dom.Element child1=document.createElement("child1");
org.w3c.dom.Element child2=document.createElement("child2");
org.w3c.dom.Element child3=document.createElement("child3");]
if("1".equals(id)){
child1.setAttribute("id","1");
child1.setAttribute("value","苹果");
child2.setAttribute("id","2");
child2.setAttribute("value","桔子");
child3.setAttribute("id","3");
child3.setAttribute("value","香蕉");
}else{
child1.setAttribute("id","1");
child1.setAttribute("value","大米");
child2.setAttribute("id","2");
child2.setAttribute("value","白面");
child3.setAttribute("id","3");
child3.setAttribute("value","玉米");
}
root.appendChild(child1);
root.appendChild(child2);
root.appendChild(child3);
document.appendChild(root);
javax.xml.transform.dom.DOMSource doms=new javax.xml.transform.dom.DOMSource(document);
javax.xml.transform.stream.StreamResult sr=new javax.xml.transform.stream.StreamResult(res.getOutputStream());
javax.xml.transform.TransformerFactory tf=javax.xml.transform.TransformerFactory.newInstance();
javax.xml.transform.Transformer t=tf.newTransformer();
t.setOutputProperty("encoding","UTF-8");
t.transform(doms,sr);
}catch(Exception a){
a.printStackTrace();
}
try{
rs.close();
}catch(Exception err1){
System.out.println(err1.getMessage());
}
return null;
}
}