在JSP中,按钮提交后,如何保留此文本框中原来得值 5
5个回答
展开全部
既然不需要离开此页面,就用ajax提交好了,页面不刷新,值当然是原来的,如果你要跳转页面或者刷新页面的话,就加到在提交后将此值放在地址参数中或者是加到request对象的attribute中,到页面后再获取即可。如果不跳转页面的话,个人力推ajax请求,不光是这,我写的代码大多数的请求都是ajax请求。如果需要跳转页面,只需要将值储存到request对象中即可,个人不建议使用其他的jsp内置对象内存。
下面给你提供一个ajax的实例:
JSP:
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
var basePath = "<%=basePath%>";
$(function() {
$("button").click(function() {
if($("#name").val() != "" && $("#pwd").val() != "") {
$.ajax({
type: "POST",
url: basePath + "submitForm.do",
data: "name=" + $("#name").val() + "&pwd=" + $("#pwd").val(),
success: function(data) {
// 重点在这里,你这里想改变值可以在这里更改,不想改时不会变的
$("#div").append(data);
}
});
} else alert("输入点东西吧");
});
});
</script>
</head>
<div>
姓名:<input id="name" type="text" />*<br>
密码:<input id="pwd" type="password" /><br>
<button type="button">显示</button><br>
</div>
JAVA:
/**
* 对应ajax的后台方法
* @param name
* @param pwd
* @return
* @throws Exception
*/
@RequestMapping(value="submitForm")
@ResponseBody
public Object submitForm (@RequestParam(value = "name") String name,
@RequestParam(value = "pwd") String pwd) throws Exception {
return "你刚刚输入了" + name + pwd;
}
如果你需要跳转页面,那么也很easy,方法中添加一句:
request.setAttribute("name", name);
这样就可以将值传递到前台了,接着这样获取:
<input type="text" id="name" value="<%= request.getAttribute("name", name) %>" />
下面给你提供一个ajax的实例:
JSP:
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
var basePath = "<%=basePath%>";
$(function() {
$("button").click(function() {
if($("#name").val() != "" && $("#pwd").val() != "") {
$.ajax({
type: "POST",
url: basePath + "submitForm.do",
data: "name=" + $("#name").val() + "&pwd=" + $("#pwd").val(),
success: function(data) {
// 重点在这里,你这里想改变值可以在这里更改,不想改时不会变的
$("#div").append(data);
}
});
} else alert("输入点东西吧");
});
});
</script>
</head>
<div>
姓名:<input id="name" type="text" />*<br>
密码:<input id="pwd" type="password" /><br>
<button type="button">显示</button><br>
</div>
JAVA:
/**
* 对应ajax的后台方法
* @param name
* @param pwd
* @return
* @throws Exception
*/
@RequestMapping(value="submitForm")
@ResponseBody
public Object submitForm (@RequestParam(value = "name") String name,
@RequestParam(value = "pwd") String pwd) throws Exception {
return "你刚刚输入了" + name + pwd;
}
如果你需要跳转页面,那么也很easy,方法中添加一句:
request.setAttribute("name", name);
这样就可以将值传递到前台了,接着这样获取:
<input type="text" id="name" value="<%= request.getAttribute("name", name) %>" />
展开全部
你把这个文本框放在表单内,一起提交,在处理方法内获得文本框的值,然后保存在作用域内,可以是request,response,session等等,
如:request.setAttribute("textName", "textValu");
然后在文本框的代码这样写就可以了:
<input type="text" name="textName" value="${textName}"/>
这样,在你处理完跳转回这个页面时,上次输入的值就会显示了!
如:request.setAttribute("textName", "textValu");
然后在文本框的代码这样写就可以了:
<input type="text" name="textName" value="${textName}"/>
这样,在你处理完跳转回这个页面时,上次输入的值就会显示了!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-12-27 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
要想在提交jsp后仍然保留原来的值可以通过以下方法实现:
1、首先在jsp页面上input的property值不能相同,如下:<html:input property="testBox1" value="chargeStat01">测试文本1</html:input >
2、后台Java代码:
public class ChargeStatForm extends ActionForm {
private String testBox;
public String getTestBox() {
return testBox;
}
public void setTestBox(String testBox) {
this.chargeStatChargeItemInput="";
this.testBox = testBox;
}
}
这样就可以让提交之后出现错误信息之后多选框不被置空,而是原先选中什么现在还选中什么的状态。
1、首先在jsp页面上input的property值不能相同,如下:<html:input property="testBox1" value="chargeStat01">测试文本1</html:input >
2、后台Java代码:
public class ChargeStatForm extends ActionForm {
private String testBox;
public String getTestBox() {
return testBox;
}
public void setTestBox(String testBox) {
this.chargeStatChargeItemInput="";
this.testBox = testBox;
}
}
这样就可以让提交之后出现错误信息之后多选框不被置空,而是原先选中什么现在还选中什么的状态。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个叫回显,你需要把提交到后台的数据在传回来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用struts
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |