新人请教:servlet如何响应jsp里的按键

ivery418 2013-04-27 09:42:15
本人菜鸟,思维还停留在以前用VC++写win32控制台程序那,只要双击控件就可以跳到程序区输入代码.
现在新接触要做web编程,用的servlet+jsp中很基本的一些操作.现在jsp页面画好了,servlet也写好了,打开刷新界面可以接收到结果.但程序不能打开就运行,想用button控制servlet里的代码片段,请问能不能实现,如何实现?希望用到的技术越少越好.
简单点说:
比如jsp里面有个文本框<input type = "text" ,name = "text"/>
还有个提交按钮<input type = "submit" name = "submit"/>
servlet里面定义一个String str = "Hello World"
现在希望点击按键后将str输出到文本框,刷新则没反应.应该如何做?
这几天看到js,表单,bottom什么的,完全看不懂,哪位大侠能帮忙写点实例代码参考下,有其他控件比如checkbox等就更好了.
...全文
585 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
SimonYeung 2013-04-28
  • 打赏
  • 举报
回复
localhost/examples
ivery418 2013-04-28
  • 打赏
  • 举报
回复
很基本幼稚的一些东西,servlet只有一个,代码全在Post方法里,只在这里计算结果,XML配置和上面一模一样,jsp页面也只有一个,form表单会响应,简单说servlet代码如下: if(点击按键1){ 执行代码片一, 计算结果,保存到str} else if(点击按键2) { 执行代码片二,计算结果,保存到str} 指定跳转到jsp,不需要麻烦局部刷新 问题是:if里面的条件怎么写,jsp里面的按键怎么定义,问的是些基本语法
ivery418 2013-04-28
  • 打赏
  • 举报
回复
一个简单的request.getParameter("submit的name")就够了,没用js控制. 是我提问的方法不对还是大家习惯把简单问题复杂化,我知道方法很多,但几乎全没接触过,只能按直接了解的基础一步一步拼装,再慢慢熟悉程序web运行原理. 另:刷新页面的时候出现提示:刷新页面需要重新提交表单. 怎么解决?
ivery418 2013-04-27
  • 打赏
  • 举报
回复
引用 5 楼 duckweed2010 的回复:
这种代码很多 留邮箱 给你发一套
谢谢,就希望有个模板代码参考下,下面是我的邮箱: 719970456@qq.com 你有那种html+css+js+jsp...,多个例子在一个项目里的吗,这些东西不知道怎么在工程里拼接起来,有那种就最好了,有页面控件例子的也很好.
ivery418 2013-04-27
  • 打赏
  • 举报
回复
引用 9 楼 xd1211 的回复:
你这个最基本的了,弄出来 没有任何问题。
不好意思,头晕了.button有反应,十分感谢.但是我一个页面有很多button,我希望点击不同的button所产生的不同str都显示在那个text里. 听说这要用控件name控制,看你上面的流程好像没用到,能都在指点下大致流程.谢谢.
程序猿大哥 2013-04-27
  • 打赏
  • 举报
回复
你这个最基本的了,弄出来 没有任何问题。
ivery418 2013-04-27
  • 打赏
  • 举报
回复
引用 4 楼 lcf 的回复:
出门左转发到J2EE版,会有更多人帮你
发错了,本来想选J2EE,应该太近选错了.能改否?
ivery418 2013-04-27
  • 打赏
  • 举报
回复
引用 2 楼 xd1211 的回复:
这样我给你说个流程,然后自己尽量理解。 首先你点击按键后要做的是要访问servlet。你用的<input type = "submit" name = "submit"/> 这个的意思就是说要提交 一个表单,也就是说外面你要套个form <form method="post" action="你的servlet"> <input type = "submit" name = "submit"/> </form> 这样请求传到servlet 例:你在servlet中这样做request.setAttr...("str","Hello World");//...忘了是什么了,eclipse自己alt+/; 然后jsp中<input type = "text" ,name = "text" value="<%=request.getAttr..("str">"/> 这个Hello World 就会显示出来了
非常感谢!就是我想要的方式,先试试看能不能弄出来.
ivery418 2013-04-27
  • 打赏
  • 举报
回复
引用 1 楼 huoer_gf 的回复:
1.“Hello World” 是从jsp页面输入的还是你在servlet自己定义的 2.你想把str输出到那个页面,是之前的那个页面换是一个新的页面。
1."Hello World"是在servlet的post里面定义的 2.用getrequestD...什么的就跳转的原来的页面,没新页面.
Foxeagle 2013-04-27
  • 打赏
  • 举报
回复
这种代码很多 留邮箱 给你发一套
lcf 2013-04-27
  • 打赏
  • 举报
回复
出门左转发到J2EE版,会有更多人帮你
u010476377 2013-04-27
  • 打赏
  • 举报
回复
不错,我也在搞这东东 。看看
程序猿大哥 2013-04-27
  • 打赏
  • 举报
回复
这样我给你说个流程,然后自己尽量理解。 首先你点击按键后要做的是要访问servlet。你用的<input type = "submit" name = "submit"/> 这个的意思就是说要提交 一个表单,也就是说外面你要套个form <form method="post" action="你的servlet"> <input type = "submit" name = "submit"/> </form> 这样请求传到servlet 例:你在servlet中这样做request.setAttr...("str","Hello World");//...忘了是什么了,eclipse自己alt+/; 然后jsp中<input type = "text" ,name = "text" value="<%=request.getAttr..("str">"/> 这个Hello World 就会显示出来了
huoer_gf 2013-04-27
  • 打赏
  • 举报
回复
1.“Hello World” 是从jsp页面输入的还是你在servlet自己定义的 2.你想把str输出到那个页面,是之前的那个页面换是一个新的页面。
Foxeagle 2013-04-27
  • 打赏
  • 举报
回复
http://www.cnblogs.com/Myhsg/archive/2008/08/14/1268201.html 问题往简单了说 就是这样 。 就比如web.xml中<servlet> <servlet-name>UserServlet</servlet-name> <servlet-class>web.UserServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>UserServlet</servlet-name> <url-pattern>*.jsp</url-pattern> </servlet-mapping> 这样配置以后 form表单的action请求将会 从这个配置中 找到对应的 servlet,对应的servlet类处理相应的逻辑。。。 不知道你web.xml怎么配置的 确定到了servlet里面了么 楼主的本意可能是点击按钮后 只有部分页面刷新,别的页面不变,感觉要用到ajax。
ivery418 2013-04-27
  • 打赏
  • 举报
回复
引用 16 楼 duckweed2010 的回复:
http://www.w3school.com.cn/tags/att_input_type.asp 看看type="button"和type="submit"type="reset"的区别",希望有所帮助
以前没看懂,现在懂了点,原来我要的是普通button,不是submit的button.两者差别有这么大?不都是往服务器提交一个类似onclick事件的命令吗. 有没button的例子参考下.
ivery418 2013-04-27
  • 打赏
  • 举报
回复
想发个新帖,还是算了,这是网上的一段例子,照着做还是不成功,麻烦各位帮忙看看这例子有没问题.
引用
而多个form表单提交到一个servlet 中,form中并不需要特别处理,关键是在servlet 中需要一段代码处理用户要提交的是那一部分数据。代码如下: <script> function checkaction(v){ if(v==0){ document.formName.action="index.jsp?x=0"; }else{ document.formName.action="index.jsp?x=1"; } dbform.submit(); } </script> <form action="" method="post" name="formName"> <input type="submit" class="btn" value="提交按钮1" name="opsubmit" onclick="checkaction(1);" /> <input type="submit" class="btn" value="提交按钮2" name="resubmit" onclick="checkaction(0);" /> </form> 用户在点击按钮后触发onclick事件调用checkaction函数改变servlet的action,在改变action属性的时候新加入一个x的参数。 在servlet中只需要判断x的值就能知道到底是那个按钮被按下,servlet 中的代码如下: if((Integer.valueof(request.getparameter("x")))==0){ //按钮2被按下时提交内容的处理程序 }else{ //按钮1被按下时提交内容的处理程序 } 在改变action属性的时候加参数x实际跟在浏览器的地址栏中地址后加”?x=0&y=1“是一样的。
1.有一行dbform.submit()应该是formName.submit()吧 2.method="",是这样吗,不写的话页面有警告,要不要设置传递方法. 3.参数x看不是很懂,需不需要用${}等包起来. 东拼西凑实在是太辛苦.
Foxeagle 2013-04-27
  • 打赏
  • 举报
回复
http://www.w3school.com.cn/tags/att_input_type.asp 看看type="button"和type="submit"type="reset"的区别",希望有所帮助
ivery418 2013-04-27
  • 打赏
  • 举报
回复
引用 14 楼 duckweed2010 的回复:
<input type="button" value="Add" onclick="location='add.html'"/> <input type="button" value="Delete" onclick="location='delete.html'"/> 楼主的意思是这个吧
大概是这样,不过我只有一个jsp页面,我现在试着用的: <input type="submit" name="submit1" onclick="checkaction(1)"/> <input type="submit" name="submit2" onclick="checkaction(2)"/> 然后在js控制 <function checkaction(v) if(v==1){document.formname.action="index.jsp?x=1"}...> servlet里面直接用if语句将代码包起来进行判断,防止一打开网页servlet里面的代码就执行,但错误如下,麻烦帮忙看下: type Exception report message null description The server encountered an internal error that prevented it from fulfilling this request. exception java.lang.NumberFormatException: null java.lang.Integer.parseInt(Integer.java:415) java.lang.Integer.valueOf(Integer.java:553) com.test.servlet.UserServlet.doPost(UserServlet.java:305) com.test.servlet.UserServlet.doGet(UserServlet.java:46) javax.servlet.http.HttpServlet.service(HttpServlet.java:621) javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
Foxeagle 2013-04-27
  • 打赏
  • 举报
回复
<input type="button" value="Add" onclick="location='add.html'"/> <input type="button" value="Delete" onclick="location='delete.html'"/> 楼主的意思是这个吧
加载更多回复(2)

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧