jsp页面根据数据库的值显示div

主要代码<scripttype="text/javascript">functiondisplay(id){vartraget=document.getElementBy... 主要代码

<script type="text/javascript">
function display(id){
var traget=document.getElementById(id);
traget.style.display="block";
}
</script>
<form name="myform" method="post">
<span>申请人</span>
<input name="sq_name" id="sq_name" type="text" size="15">
<% String sq_name=request.getParameter("sq_name");
ResultSet rs1=inBean.ExeQuery("select * from sq_user,work_flow where sq_user.work_name=work_flow.work_name and sq_name='"+sq_name+"'");
%>
<% while (rs1.next())

{
%>
<input type="button" id="submit" class="submit" value="查询" onclick="return display('<%=rs1.getString("work_order") %>')" /> //work_order的值为a到e,与div的ID对应。
<%} %>
</form>
<div id="a" style="display:none"><img src="newpic/1.gif" /></div>
<div id="b" style="display:none"><img src="newpic/2.gif" /></div>
<div id="c" style="display:none"><img src="newpic/3.gif" /></div>
<div id="d" style="display:none"><img src="newpic/4.gif" /></div>
<div id="e" style="display:none"><img src="newpic/5.gif" /></div>
现在运行的结果是,看不到查询按钮。在input里输入申请人点回车后才会显示查询按钮,再点查询才能看到div。怎么能直接输入申请人,然后点查询,下面直接显示div。
展开
 我来答
玩转TA0020
2014-11-12 · 超过64用户采纳过TA的回答
知道答主
回答量:114
采纳率:0%
帮助的人:121万
展开全部
您好,很高兴为您解答,首先请你提供您所使用的框架技术,包括哪些,如果没有使用框架,我给你提供最简单原始的如下思路:

拿简单的 servlet 来说:

当在页面做 input 提交时,用户名已经被提交到后台,当然,我们的目的是获取work_order值,接下来控制页面转发回你提交的 jsp,记住转发与重定向的区别,这里我不做过多阐述,接下来就是jsp 页面的操作了,您可以使用脚本语言<%...%>,亦可以使用 jstl 表达式,当然,如果使用了 struts2框架等,ognl 表达式是一个完美的选择,提供的具体思路如下:

<jstl:if test="${requestScope.work_order}==a">显示 a div</if> <jstl:elseif test="${requestScope.work_order}==b">显示 b div</elseif> <jstl:else test="${requestScope.work_order}==a">显示 a div</else>

当然${requestScope.work_order}表示从 request 范围中请求work_order参数,就是你查询出来的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jxcome2010
推荐于2016-01-21 · TA获得超过252个赞
知道小有建树答主
回答量:178
采纳率:100%
帮助的人:148万
展开全部
原因是第一次运行的时候sq_name,你取的是参数,从request里面取的,但是第一次运行页面内容是空的,你的sql肯定查不到任何内容,当你输入内容后,回车再查,肯定是查到了,查到了才会走到while语句里面,要直接输入申请人查询,你的sql语句就的改造,在where后面跟上 1=1 and, sq_name这里也要做判断,如果为空就不跟在sql上,有值才加上去
String sql= "select * from sq_user,work_flow where 1=1 and sq_user.work_name=work_flow.work_name"
if(null!=sq_name)
sql +="and sq_name='"+sq_name";
追问
是可以了,但是出现两个查询按钮。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yybolou
推荐于2016-03-19 · TA获得超过2888个赞
知道小有建树答主
回答量:2516
采纳率:0%
帮助的人:972万
展开全部
1首先是取值:
<%
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection connection = DriverManager.getConnection(url);
Statement statement = connection.createStatement();
String sql = "SELECT * FROM " + tableName;
ResultSet rs = statement.executeQuery(sql);

%>
2然后是输出
<%
out.print("学号");
%>
3最后是显示
<div>
<%
out.print("学号");
%>
</div>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式