用Button调用JSP/Servlet
最后一次J2EE作业,被第二小题虐得欲死欲仙,说到底就是被两个问题折腾了,一个是JPA,另一个就是如何在JSP中通过Button调用JSP/Servlet。
在网上的无数中英文帖子间寻找答案时,有一个帖子让我印象深刻。帖子是这么说的:点击button是一个客户端的动作,调用JSP/Servlet是服务器做的事,你不可能直接让客户端调用JSP/Servlet,所以唯一的方法就是使用表单的提交按钮,在action中输入get格式的url。
由此可见对于概念的掌握是非常关键的。
得到了这个提示立刻试了下:
<form method="get" action="DeletePerson?id=${person.id}" >
<input type="submit" value="delete" />
</form>
结果很诡异的事情发生了,无论我怎么设置,点击button后地址栏中都只有DeletePerson,设置中断Debug也确认id的值确实没有通过request传进Servlet。
研究了很久,终于发现,原来服务器在处理?x=k格式的action时,会到form内部去找name为"x"的input组件,并把该组件的value放到k的位置,如果没有找到name为"x"的input组件,就会忽略这一项。
于是设置了一个隐藏文本框,将name和value设置为想要的值,当然这时候action中的传参部分可以删掉了
<form method="get" action="DeletePerson" >
<input type="hidden" name="id" value="${person.id}"/>
<input type="submit" value="delete" />
</form>
其实这个时候完全可以把method设置为post,一样可以正常工作
当然,如果并不强调使用Button组件来调用JSP/Servlet的话,完全可以直接写个链接:
<a href="DeletePerson?id=${person.id}" mce_href="DeletePerson?id=${person.id}">Delete</a>
相关文档:
JSP中将数据生成Excel格式
Excel是办公常用软件之一。在一个Java应用中,将一部分数据生成Excel格式,是与其他系统无缝连结的重要手段。POI是Apache Jakarta的子项目,使用简单方便,对中文支持非常好,功能也比较强大。下在地址为:http://jakarta.apache.org/poi。这套API是纯Java的,并不依赖Windows ......
JAVA\JSP上传组件
本人只有这个水准,会的请指点,不会的,可以拿源码
大概的要求:
单独负责上传的类,只用iframe调用其它的类不用调用
上传预览
单个文件上传与多个文件都支付
多个文件上传需要在iframe父级页面传参,也就是开关鸟
预览时可以删除原文件和预览的(多个文件)某个节点
文件类型的在iframe定义
禁止用 ......
JSP自定义标签学习(高级)
关键字: 自定义标签
BodyTag接口
接口BodyTag的实现类,它是负责操作主体内容(bodyContent).
定义方法:public void doInitBody();
public int doAtferBody();
提示,那些在doStartTag()方法之后被调用的方法依赖于doStartTag()方法返回值并且看在JSP页 ......
//JSP禁止缓存代码
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
//网络上的不能正确运行代码参考
if(request.getProtocol().compareTo("HTTP/1.0")==0)
{
......
要把JSP的运行环境配置好`
具体的资料这有:
Windows下JSP开发环境的配置:
摘 要 要学习JSP开发,必须先搭建一个符合JSP规范的开发环境。本文以实用为原则,介绍了以Tomcat服务器为核心的3种配置JSP环境的方法。
Sun推出的JSP(Java Server Pages)是一种执行于服务器端的动态网页开发技术,它基于Java技术。 ......