扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
在java中硬要写jsp代码也不是不可以,就是让java的方法返回一个jsp代码的字符串,不过复杂度很高,代价太大,99.99%的情况下不会这么做,如果想让JSP页面调用对象,事实上你可以直接在jsp页面中new一个对象来使用。
创新互联建站-专业网站定制、快速模板网站建设、高性价比南川网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式南川网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖南川地区。费用合理售后完善,10年实体公司更值得信赖。
jsp中写java代码成为scriptlet,写在%%之间就可以了。
Scriptlet是包含在%和%之间的Java代码,在Web容器处理JSP页面时执行,通常会产生输出,并将输出发送到客户的输出流里。Scriptlet除了不能定义类和方法、不能用import引入类外,可以包含任何有效的Java代码。(Java类在Jsp外部定义,可用page指令的import属性引入,也可以Java Bean的形式使用。Java中的方法必须在类内定义,但Jsp允许使用声明定义方法。窗体(GUI)设计代码在Jsp中无效)。
Scriptlet例程:
%@ page contentType="text/html; charset=gb2312" %
html
head
titleJSP基本语法/title
/head
body
h1Scriptlet示例页面/h1
table border="1"
caption乘法口诀表/caption
%-- 在网页中嵌入Java代码的主要方法 --%
%
for(int i=1; i=9; i++) {
int j=1;
//out是JSP的一个内部对象,print方法用于向客户端输出数据
out.println("tr");
for(; j=i; j++) {
out.print("td" + j + "*" + i + "=" + j*i + "/td");
}
for(;j=9;j++) {
out.print("td /td");
}
out.println("/tr");
}
%
/table
/body
/html
把代码都嵌入到JSP里面是违反MVC设计准则的,这会让你的代码难维护,如果万一出错了,页面上显示的哪一行你都找不到(不是实际指出的那行,还要找编译好的对应的servlet)
让上面代码运行,把它改写为一个类或Beanl就可以了,其实也就一分钟的事儿,把main改成函数,然后在jsp里面import它,new一个bean类,调用这个方法,很快,还好调试,何乐而不为呢?
其实还有更好的封装方法,等你用了hibernate就知道了。
不知道你有没有学习JavaBean,如果学习了就好理解:
在test.jsp页面使用jsp:useBean标签调用javabean
在test.jsp里使用get()方法就可以得到数据了
//下面是test.jsp
%@ page contentType="text/html;charset=GB2312"%
jsp:useBean id="test" class="test.Testjavajsp" scope="session"/
%
out.println("用户名:"+test.getUsername());
%
//下面是Testjavajsp类
package test;
import java.sql.*;
public class Testjavajsp {
String username="";
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Testjavajsp()
{
String sql="select * from userinfo where userID=1";
String driver="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/qquser";
try {
Class.forName(driver);
conn=DriverManager.getConnection(url,"root","123456");
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
while(rs.next())
{
username=rs.getString(1);
}
rs.close();
}catch(Exception e){
System.out.println("连接失败");
}
}
}
希望对你有帮助
其实还有很多种方法可以
在jsp中使用java类举例如下:
1.新建一个项目,在src文件夹下添加一个包:如:tianaoweb.com;
2.再在包中添加一个类:如
package com;
public class test {
public String sd(){
return "sd";
}
}
3.在默认的首页index.jsp(当然也可以自己新建一个jsp文件)的开头引入
%@ page import= "tianaoweb.com.* "%
4.在body /body中添加相应的java代码片:
如:
%
String str;
test te=new test();
%
%=te.sd() %
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流