重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
JSP显示Java代码?这个问题…
创新互联公司提供网站设计制作、成都网站建设、网页设计,品牌网站设计,1元广告等致力于企业网站建设与公司网站制作,十载的网站开发和建站经验,助力企业信息化建设,成功案例突破上千家,是您实现网站建设的好选择.
这样告诉你把,JSP本质就是一个servlet,输出的就是一张HTML网页,能显示任何HTML能显示的东西。你要显示Java代码的话,直接把Java代码粘贴到JSP中就可以了。
但是,如果你的意思是在JSP中使用Java代码,那么可以用% 这里填Java代码 %的方式。如果是要显示Java变量中的值,可以用%=变量名%。如果是访问request、session等 内置对象中的对象的值,可以用el表达式,如${对象名.属性}
希望可以帮到你,有疑问可以随时追问
1.JSP传值给Servlet
JSP传值给Servlet有几种形式:Form表单传值,url传值,其他方式传值
a、form表单传值:
JSP页面有:input type="radio" name="staffdepartment" value="1" id="department1" /,将department的id传到Sevlet中,在程序中如下:ServletRequest request;Stringstaffdepartment=request.getParameter("staffdepartment");可获取jsp传的department,但要获取id还要进行转化:int int_staffdepartment=Integer.parseInt(staffdepartment);
b、url传值
比如这里的 a标签的 href属性与 form标签的 action属性的值 "JspServlet?action=toServlet",在 servlet同样用 request.getParameter("action")获取;
c、Java代码传值
java片段代码,servlet只能接到 session.setAttribute("testSession","Hello session")的内容,而接不到 request的内容。在 servlet里用 request.getSession().getAttribute("testSession")获取 session内容。
Servlet传值给Jsp
具体实现如下,java代码:
String a= "abccdefg ";
request.setAttribute( "ValueA ",a);
request.getRequestDispatcher( "网址/jsp页面 ").forward(request,response);
jsp页面:
%
String s =(String)request.getAttribute( "ValueA ");
%
jsp页面就可以取出Servlet的值。
jsp传值给另一个jsp页面,主要的方式是将数据放在request对象中,然后通过GetParameter方法即可在另一个页面拿到这个数据,代码如下:
B页面通过如下代码接收
%
String name=request.getParameter("name");
%
说明:request.getParameter()取得是通过容器的实现来取得通过类似post,get等方式传入的数据
可以在JSP里面直接查看Java代码的值,用el表达式直接获取即可,方法:
${要显示值的名字
}
或者通过JSP页面上写Java代码,输出到后台的方式也可以,如:
%
int
a
=
10;
System.out.println(a);
%
这主要是一段修改用户信息的代码,修改那就是获取本页的值的
%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%
%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%
%@page import="bean.Cinfo"%
%@page import="bean.DBConn"%
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns=""
head
meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /
title客户信息修改/title
style type="text/css"
!--
.STYLE1 {
font-family: "宋体"
}
.STYLE2 {
color: #0000FF
}
body {
background-image: url();
}
--
/style
/head
body
%
List list = (List) session.getAttribute("listCinfo");
%
form action="./ModifyCinfo" method="post" name="form1" id="form1"
span class="STYLE1" label
/label /span
label
div align="left" class="STYLE1"
h1 align="center" class="STYLE2"
阳光酒店
/h1
p
/p
p
/p
div align="center"
br/
br/
/div
div align="center"
table width="85%" border="1"
tr
td
序号
/td
td
客户姓名
/td
td
密码
/td
td
身份证号
/td
td
电话
/td
td
是否修改
/td
/tr
%
for (int i = 0; i list.size(); i++) {
Cinfo cinfo = (Cinfo) list.get(i);
int id = cinfo.getId();
%
tr
td%=id%/td
%
String cname = cinfo.getCname();
%
td%=cname%/td
%
String csex =cinfo.getCsex();
%
td%=csex%/td
%
String cidno = cinfo.getCidno();
%
td%=cidno%/td
%
String ctel = cinfo.getCtel();
%
td id="" %=ctel%/td
td
a href="modifyuserinfo.jsp?id=%=id%cname=%=cname%csex=%=csex%cidno=%=cidno%ctel=%=ctel%"修改/a
/td
%
}
%
/tr
/table
p
label
input onclick="javascript:window.location.href='usermanage.jsp'" type="button" name="Submit" value="返回" /
/label
/p
/div
/form
/body
/html
js与java是不同语言,运行在不同环境下,因此无法直接获得对方数据。
java运行在服务器端,在同一个jsp文件中,java先运行,js后运行,java可以生成一段js代码,保证js运行得到相应的结果,因此可以用java定义js变量的方式来传递数据,例如:
script
var url="%=url%";
alert(username);
/script
上面例子,%%中的内容会在服务器端运行,在“”中间输出网址,浏览器就会加载下面的结果:
script
var url="gif8.cn";
alert(url);
/script
这部分就是标准的js代码了。