在jsp+javabean模式下不能使用抽象类和继承类的功能,真是不爽

02-08-30 zingers
这意味着你不得不在每个页面中使用具体类.

浆糊
2002-08-30 11:22
用struts 就爽了

banq
2002-08-30 11:45
谁说不能用啊?

抽象类或继承类本身就是Javabean啊 呵呵

你可能思路没转过弯。

zingers
2002-08-30 13:32
bang:

useBean 的类加载可全是具体类啊.

banq
2002-08-30 16:21
有两种办法:

1.采用facade模式,你所有JsP只Usebean一个具体的类,而在这个类中,你就可以使用抽象类 或其他模式了。

2.在Jsp中不使用Use bean,使用import你的class.你参考Jive源程序,它其实就是Jsp+Javabean的架构

zingers
2002-09-02 17:20
我觉得用第一种方法比较好,这样不会在JSP文件中出现大量的JAVA代码.这种情况下JAVABEAN其实成了一个个调度用的类,合成其它类设计情况.

有机会大家分享一下structs经验吧,我刚下了一个,好象要先了解taglib和xml.

banq
2002-09-03 09:38
第一个办法很容易做到,不必一定要学习struct

wait4friend
2002-09-04 09:12
如果我使用import的方法,但是又想利用jsp:setProperty name="profile" property="*" 的方便,有没有两全其美的办法?因jsp中有很多要处理的数据,还涉及到转型,jsp中的java代码只能使用interface

浆糊
2002-09-04 09:25
为什么要在jsp进行数据处理呢?分离!

banq
2002-09-04 16:37
可以即用import 也可以用setProperty

比如useBean id="A" class="A.class"

而在你的import中也有个A.class的实例aa

你可以aa=A这样传递。

这里注意java的值传递

wait4friend
2002-09-05 09:05
<jsp:useBean id="list" type="java.util.List" beanName="java.util.ArrayList"/>可以这样用接口,缺陷是必须指出具体类的名字。当时用工厂方法时,我是这样做的。

public interface aaa{}

public class aaaImpl implements aaa{...}

public class Factory

{

public static final String className = "aaaImpl";

public static aaa getAAA(){...}

}

<jsp:useBean id="bean" type="aaa" beanName="<%= Factory.className %>"/>

测试通过

wait4friend
2002-09-05 09:07
可以这样用接口,缺陷是必须指出具体类的名字。当时用工厂方法时,我是这样做的。

public interface aaa{}

public class aaaImpl implements aaa{...}

public class Factory

{

public static final String className = "aaaImpl";

public static aaa getAAA(){...}

}

useBean id="bean" type="aaa" beanName="<%= Factory.className %>"

测试通过

wait4friend
2002-09-05 09:08
第一条信息发错了,也不能删除?!

wait4friend
2002-09-05 09:10
不能使用尖括号,我的两条信息都不完全,怎么回事?beanName中应该有内容的 %=Factory.className

banq
2002-09-05 09:38
看懂 你想说什么?

猜你喜欢
2Go 1 2 下一页