十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
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
String C = "B";
Class D = Class.forName(C).getClass();
D.newInstance();
在JAVA中,类的名字一般不是用自己的名字来命名的,“B”是我们已知的名字,但JAVA虚拟机并不知道这样的命名,也找不到你想要的类的位置,所以正确的改法是:
String C = "no.yes.flas.B" 也就是B类所在的包名+“.”+类的名字。你再试一试看看。
你拷下我的以下的代码去运行就知道了:1:建一个Person类//定义一个Person类
public
class
Person
{
String
name="李三";
//定义一个name属性,后面带的值是无参构造方法的默认值,也可以不用进行初始化赋值
int
age=20;
//定义一个age属性,,后面带的值是无参构造方法的默认值,也可以不用进行初始化赋值 //这个无参构造方法,你不写也可以;
//系统默认会创建一个无参的构造方法的,即不用带参数
public
Person(){
}
//这个有参的构造方法,参数你可以自定义
//比如这个我带了所有的参数
public
Person(String
name,
int
age){
this.name=name;
this.age=age;
}
//这个有参的构造方法,我带了name属性作为参数
public
Person(String
name){
this.name=name;
}
//这个有参的构造方法,我带了age属性作为参数
public
Person(int
age){
this.age=age;
}
//自我介绍的方法
public
String
introduce(){
return
"大家好,我叫"+name+",今年"+age+"岁了";
}
public
String
introduceName(){
return
"大家好,我叫"+name;
}
public
String
introduceAge(){
return
"大家好,我"+"今年"+age+"岁了";
}}
2:建一个测试Person类的测试类: public
class
TestPerson
{ public
static
void
main(String[]
args)
{
//public
Person(){}
//这是Person类的无参构造方法,不用带参数
Person
per
=
new
Person();
//Person类中我们进行了初始化了
System.out.println(per.introduce());
//输出信息
//public
Person(String
name,
int
age){}
//这是Person类的有参构造方法,要带参数带参数(name,age)
Person
perSon
=
new
Person("李力",20);
//输入值
System.out.println(perSon.introduce());
//输出信息
//public
Person(String
name){}
//这是Person类的有参构造方法,要带参数带参数(name)
Person
perName
=
new
Person("莉莉");
//输入值
System.out.println(perName.introduceName());
//输出信息
//public
Person(int
age){}
//这是Person类的有参构造方法,要带参数带参数(age)
Person
perAge
=
new
Person(20);
//输入值
System.out.println(perAge.introduceAge());
//输出信息
}}
按F11进行运行吧我里面写很多注释了,很容易看懂的,就这样~~~望采纳-_-=谢谢
//接口
public interface BankCard {
public void norm();
}
//工商银行实现类
public class ICBCBankCard implements BankCard {
@Override
public void norm() {
// TODO 银行规范
}
public void saveMoney(int money){
//TODO 执行存钱动作
}
public void transfer(String account,int money){
//TODO 执行转账 动作
}
}
//交通银行实现类
public class CommunicationsBankCard implements BankCard {
@Override
public void norm() {
// TODO 银行规范
}
public void saveMoney(int money){
//TODO 执行存钱动作
}
public void transfer(String account,int money){
//TODO 执行转账 动作
}
}
上面的例子只是申明了通用的规范,如果想让实现类都能实现存钱和转账功能,可以在接口里面声明这两个方法,写一个通用的实现类,实现这些方法,然后具体的子类继承该通用类,这样可以直接继承父类方法,如果不同的银行具体实现不同,可以复写父类中的两个方法。
/*最普通的枚举*/
public enum ColorSelect {
red, green, yellow, blue;
}
/*还可以有构造方法*/
public enum Temp {
/*通过括号赋值,而且必须有带参构造器和一属性跟方法,否则编译出错
* 赋值必须是都赋值或都不赋值,不能一部分赋值一部分不赋值
* 如果不赋值则不能写构造器,赋值编译也出错*/
absoluteZero(-459), freezing(32),boiling(212), paperBurns(451);
private final int value;
public int getValue() {
return value;
}
//构造器默认也只能是private, 从而保证构造函数只能在内部使用
Temp(int value) {
this.value = value;
}
}