jsp相关问题!!!!急急 我在servlet里得到一个List,里面装的是某一个文件夹下的全部文件名.我怎么把化显示在jsp页面中..而且能够选取其中的某一个文件.并且下载该文件呢..下载的办法我有了.就是不知道jsp里怎么显示能够选取的列表 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 servlet里面把list set 到request或session里面去,jsp用for循环显示。如果用了struts框架,可以用它的标签,或者用el表达式。 这样是可以把list遍历到jsp中.但是有什么办法能够在jsp中选取其中某一条呢 可以用<%for(int i=0;i<lst.size();i++){%><a href="download.servlet?fileId=<%=lst.get(i).getFileId%>"><%=lst.get(i).getFileName%></a><%}%>来取值,download.servlet跳到你下载那个servlet,传入文件id来确定是哪个文件并进行下载。另外如果要以表格方式显示,那就在for外面加<table>标签,里面再tr标签一个个加 对了..我想搞一个判断..当jsp中的list不为空时执行这段代码该怎么办呢...谢谢了<% for(int i=0;i <lst.size();i++){ %> <a href="download.servlet?fileId= <%=lst.get(i).getFileId%>"> <%=lst.get(i).getFileName%> </a> <% } %> 前面加 if(lst!=null&&lst.size()>0){ for 我jsp中能够得到list但是为什么一加 if(list!=null&&list.size()>0){ <% for(int i=0;i <list.size();i++){ %> <a><%=list.get(i) %></a><% } %> } 就会报空指针异常呢 你的if是放在jsp页面的,你要把java代码放到<%%>对里面去 <%if(list!=null&&list.size()>0){for(int i=0;i <list.size();i++){%><a> <%=list.get(i) %> </a><%} } %> 报了空指针异常,可能页面获取的list就是个null,根本没取到你要的那个list,所以for里面list.size()报空指针 这是servlet里的代码public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException{ response.setContentType("text/html"); PrintWriter out = response.getWriter(); String s=request.getParameter("txtDate"); String ss=s.replace("-", ""); ArrayList l=new ArrayList(); try { //URL url = new URL("http://136.5.68.7:8080/creport/filelist?dir="+ ss); URL url = new URL("http://localhost:8080/ftpdowns/MyServlet"); HttpURLConnection urlcon = (HttpURLConnection) url.openConnection(); urlcon.connect(); BufferedReader in = new BufferedReader(new InputStreamReader(urlcon .getInputStream())); String inputLine; while ((inputLine = in.readLine()) != null) { l.add(inputLine); } } catch (Exception e) { } request.setAttribute("list", l); response.sendRedirect("index.jsp"); } 这是jsp中的代码..为什么jsp得到的值为空呢..我测试过.在servlet里是可以得到list的<%List list=(List)request.getAttribute("list"); %> <% if(list!=null&&list.size()>0){ for(int i=0;i <list.size();i++){ %> <a> <%=list.get(i) %> </a> <% } } %> 放在session或request中在jsp中取出来就可以了 认真阅读以下代码,因为你的里面使用了 response.sendRedirect(.*****)....request.setAttribute()怎么用的?JSP1代码String [] test=new String[2];test[0]="1";test[1]="2";request.setAttribute("test",test) ;response.sendRedirect("jsp2.jsp");JSP2代码String test[]=(String[])request.getAttribute("test");out.print(test);为什么JS P2中会找不到test?用来在同一个request周期中保存变量使用。比如servlet调用后,推出JSP页面,这是一个request周期,如果在Jsp页面需要servlet中的一些 处理结构,就从request.getAttribute中获取。sendRedirect()方法是通过浏览器重定向的,所以第二个JSP页面中获得的request并非是前一个页面的request(两次请求生成了前后两个不同的 request对象了)。用RequestDispatcher接口的forward()方法试试看。都在一起使用List list = new CommonsDao().getAllCommons(); request.setAttribute("CommonsList", list); request.getRequestDispatcher("View.jsp").forward(request, response);request.getAttribute()与request.setAttribute()request.getAttribute("nameOfObj")可得到JSP页面一表单中控件的Value。其实表单控件中的Object的 name与value是存放在一个哈希表中的,所以在这里给出Object的name会到哈希表中找出对应它的value。而不同页面间传值使用request.setAttribute(position, nameOfObj)时,只会从a.jsp到b.jsp一次传递,之后这个request就会失去它的作用范围,再传就要再设一个 request.setAttribute()。而使用session.setAttribute()会在一个过程中始终保有这个值。P.S.:JavaScript与JSP中不能相互传值,因为JavaScript运行在客户端,而JSP运行在服务器端。若想使它们之间可以相互传递参数,可以在JSP中设置一个hidden控件,用它的value结合上面所说的用法来传递所需的数值。 JAVA初学者,2个小问题想请教下 请教高手关于Java扫描文件目录问题 Java语言如何实现将字符串计算得到Hash值 VE插件开放的工程的打包问题 500分跪求设计一张表,很简单的! 一个另类的问题~~ 请问谁有corejava这本书的第一章的源代码? 求助:如何在Java程序中启动系统的浏览器?谢谢了!!! 哪里有Jbuilder的汉化补丁? 求助!大神帮忙!java poi 大数据量(3-4万条)导出Excel2003版本,导入Excel2007版本时内存溢出 设置Look&Feel后变卡的问题 非常奇怪的字节丢失的现象,达人入
如果用了struts框架,可以用它的标签,或者用el表达式。
<%
for(int i=0;i<lst.size();i++){
%>
<a href="download.servlet?fileId=<%=lst.get(i).getFileId%>"><%=lst.get(i).getFileName%></a>
<%
}
%>
来取值,download.servlet跳到你下载那个servlet,传入文件id来确定是哪个文件并进行下载。
另外如果要以表格方式显示,那就在for外面加<table>标签,里面再tr标签一个个加
<%
for(int i=0;i <lst.size();i++){
%>
<a href="download.servlet?fileId= <%=lst.get(i).getFileId%>"> <%=lst.get(i).getFileName%> </a>
<%
}
%>
for
但是为什么一加 if(list!=null&&list.size()>0){
<%
for(int i=0;i <list.size();i++){
%>
<a><%=list.get(i) %></a>
<%
}
%>
}
就会报空指针异常呢
<%
if(list!=null&&list.size()>0){
for(int i=0;i <list.size();i++){
%>
<a> <%=list.get(i) %> </a>
<%
}
}
%>
public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String s=request.getParameter("txtDate");
String ss=s.replace("-", "");
ArrayList l=new ArrayList();
try {
//URL url = new URL("http://136.5.68.7:8080/creport/filelist?dir="+ ss);
URL url = new URL("http://localhost:8080/ftpdowns/MyServlet");
HttpURLConnection urlcon = (HttpURLConnection) url.openConnection();
urlcon.connect();
BufferedReader in = new BufferedReader(new InputStreamReader(urlcon
.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
l.add(inputLine);
}
} catch (Exception e) {
}
request.setAttribute("list", l);
response.sendRedirect("index.jsp");
}
<%List list=(List)request.getAttribute("list"); %>
<%
if(list!=null&&list.size()>0){
for(int i=0;i <list.size();i++){
%>
<a> <%=list.get(i) %> </a>
<%
}
}
%>
JSP1代码
String [] test=new String[2];
test[0]="1";
test[1]="2";
request.setAttribute("test",test) ;
response.sendRedirect("jsp2.jsp");JSP2代码
String test[]=(String[])request.getAttribute("test");
out.print(test);为什么JS P2中会找不到test?用来在同一个request周期中保存变量使用。比如servlet调用后,推出JSP页面,这是一个request周期,如果在Jsp页面需要servlet中的一些 处理结构,就从request.getAttribute中获取。sendRedirect()方法是通过浏览器重定向的,所以第二个JSP页面中获得的request并非是前一个页面的request(两次请求生成了前后两个不同的 request对象了)。
用RequestDispatcher接口的forward()方法试试看。都在一起使用List list = new CommonsDao().getAllCommons();
request.setAttribute("CommonsList", list);
request.getRequestDispatcher("View.jsp").forward(request, response);
request.getAttribute()与request.setAttribute()request.getAttribute("nameOfObj")可得到JSP页面一表单中控件的Value。其实表单控件中的Object的 name与value是存放在一个哈希表中的,所以在这里给出Object的name会到哈希表中找出对应它的value。而不同页面间传值使用request.setAttribute(position, nameOfObj)时,只会从a.jsp到b.jsp一次传递,之后这个request就会失去它的作用范围,再传就要再设一个 request.setAttribute()。而使用session.setAttribute()会在一个过程中始终保有这个值。P.S.:JavaScript与JSP中不能相互传值,因为JavaScript运行在客户端,而JSP运行在服务器端。若想使它们之间可以相互传递参数,可以在JSP中设置一个hidden控件,用它的value结合上面所说的用法来传递所需的数值。