Java Servlet与JSP之间传值

Java Servlet与JSP之间传值

最近初学jsp,一直困扰jsp和java之间怎么互传变量,下面是我最近的总结

JSP传值到Java Servlet

  1. jsp中可以通过form表单,监控一个按钮,利用ajax进行传值到servlet
    将jsp文本框数据echoID传递到echoServlet代码如下
<script type="text/javascript">
	$(function() {
		$("#button").click(function() {	//监控按钮button
			var data = $("#form").serialize();
		
			$.ajax({
				type : "post",
				url : "echoServlet?method = Echo",
				data : data,
				dataType : "text",
				success : function(msg) {
					//
				}
			});
		});
	})
</script>

<form id = "form" class = "form form-horizontal" method = "post">
	<div class = "row cl">
		<label class = "form-label col-5"></label>
		<div class = "formControls col-5">
			<input id = "" name = "echoID" type = "text" class = "input-text size-L" style = "width : 200px;">
		</div>
	</div>

	<div class = "row">
		<div class = "formControls col-8 col-offset-5">
			<input id = "button" type = "button" class = "btn btn-success radius size-L" value = "button;">
		</div>
	</div>
</form>
  1. 上述代码实现了将数据从jsp传递到servlet,现在需要从servlet获取jsp传递过来的变量echoID
    通过request.getParameter(“varName”)来获取jsp传递过来的变量
protected void doGet(HttpServletRequest request, 
HttpServletResponse response) throws ServletException, IOException {
	String method = request.getParameter("method");
	if(method.equalsIgnoreCase("Echo")) {
		String echo = request.getParameter("echoID");
	}
}

Java Servlet传值到JSP

  1. 从servlet中传递值到jsp中,利用servlet中的ServletContext这个web全局上下文来共享数据,servlet中的ServletContext()可以获得一个ServletContext对象,利用这个对象的getAttribute()/setAttribute()方法可以在整个web里共享数据
    getServletContext().setAttribute(“id”, value);
    如将echoID从echoServlet中传递到echo.jsp
getServletContext().setAttribute("echo", echoID);
  1. 而jsp中只需要通过<%=application.getAttribute(“variousName”)%>即可获取servlet传递的值
<%=application.getAttribute("echo")%>
  • ServletContext对象的setAttribute()方法也可以用于从jsp传值到servlet中,具体方法为
<%application.setAttribute("id", object);%>
  • 但是setAttribute()方法目前我只知道如何传递定值,第二个参数为Object,传递变量可能需要将变量封装为一个Object传递,具体方法未实践,还望多多指教
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值