jsp中新属性的设置和获取

来源:互联网 发布:linux redmine 启动 编辑:程序博客网 时间:2024/05/27 00:32

  用户可以根据自己的需要在request对象中添加属性,然后在另一个jsp程序获取添加的数据。

  在页面中使用request对象的setAttribute("name",obj)方法,可以把数据obj设定在request范围(容器)内,请求转发后的页面使用getAttribute("name")就可以获得数据obj的值。

  设置数据的方法格式:

void request.setAttribute("key",Object);

  key是键,为Sring类型,属性名称。参数Object是键值,为Object类型,是需要保存在request范围内的数据。

  获取数据的方法格式:

  Object request,getAttribute(String name);

  name为键名,所获取的数据类型是由setAttribute("name",obj)中的obj类型决定的。


示例代码:

input039.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>       <title>My JSP 'input039.jsp' starting page</title>    <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">-->  </head>    <body>  <form action="sum039.jsp" method="post">        数据1:<input type="text" name="shuju1"><br>  //提交两个参数的页面        数据2:<input type="text" name="shuju2"><br>        <input type="submit" value="提交">  </form>  </body></html>
sum039.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>        <title>My JSP 'sum039.jsp' starting page</title>    <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">-->  </head>    <body>   <% String str1=request.getParameter("shuju1");  //获取表单提交的参数,转换为实数数据是s1,s2,并求和给属性s3,
                                                    再讲3个新属性保到request对象中,然后转到显示页面。
      String str2=request.getParameter("shuju2");      Double s1=Double.parseDouble(str1);      Double s2=Double.parseDouble(str2);      Double s3=s1+s2;      request.setAttribute("st1", s1);  // 保存3个属性到request对象      request.setAttribute("st2", s2);      request.setAttribute("st3", s3);    %><jsp:forward page="output039.jsp"></jsp:forward>  </body></html>

output039.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>        <title>My JSP 'output039.jsp' starting page</title>    <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">-->  </head>    <body>   <% Double a1=(Double)request.getAttribute("str1");  //从request对象中获取3个属性值,并输出显示      Double a2=(Double)request.getAttribute("str2");  // 获取的是对象类型,强制实现类型转换      Double a3=(Double)request.getAttribute("str3");    %><%=a1 %>+<%=a2 %>=<%=a3 %><br>        显示<br>        <% String s1=request.getParameter("shuju1");//获取参数           String s2=request.getParameter("shuju2");         %>  <%=s1 %>+<%=s2 %>=<%=a3 %><br>  </body></html>



原创粉丝点击