1、双方先讨论项目的需求,然后确定下个个页面需要显示什么内容,怎么显示不管。讨论完后便确定了JS对象和数据库的大体结构。
2、各自写各自的东西。。。
3、双方写好后把WEB页面通过JS对象和Java连接起来,调试,完工。
具体关键代码:
J2J。
java的代码,功能是获取scope范围内,名称为source的java对象,然后把这个java对象写成名称为distName类别为dist的JS对象。
代码: /** J2J。java** Created on 2006年10月2日, 下午7:16** To change this template, choose Tools | Template Manager* and open the template in the editor。
*/package net。vlinux。tag。j2j;import javax。servlet。jsp。*; import javax。servlet。jsp。tagext。*; import java。lang。reflect。*; import java。
util。*;/** * * @author vlinux */ public class NewObject extends TagSupport {
private String dist;
private String distName;
private String scope;
private String source;
private List<Method> getGetMethods( Object aObject ) {
Method[] array = aObject。
getClass()。getMethods();
List<Method> list = new ArrayList<Method>();
for( int i=0;i<array。length;i++ ){
String methodName = array[i]。
getName();
if( methodName。matches("get。*") )
list。add(array[i]);
return list; } private String getFieldName( Method aMethod){
String methodName = aMethod。
getName();
String subName = methodName。substring(3,methodName。length());
return subName。toLowerCase(); } private Object getSourceObject(String scope, String source){
if( scope。
equals("request") ){
return pageContext。getRequest()。getAttribute(source);
}else if( scope。equals("session") ){
return pageContext。
getSession()。getAttribute(source);
}else if( scope。equals("page") ){
return pageContext。getAttribute(source);
}else{
System。
out。println("xxx");
return null;
} } public int doStartTag(){
JspWriter out = pageContext。getOut();
Object sourceObject = getSourceObject(getScope(),getSource());
List list = getGetMethods( sourceObject );
try{
out。
println( "<script>" );
out。println( "tvar " + getDistName() + " = new " + getDist() + "();");
for( int i=0;i<list。size();i++ ){
try{
String fieldName = getFieldName((Method)list。
get(i));
String value = ((Method)list。get(i))。invoke( getSourceObject(getScope(),getSource()))。toString();
out。println( "t"+getDistName() + "。
" + fieldName + " = "" + value +""");
}catch(Exception e){
out。println( "</script>" );
}catch( java。io。IOException ioe){
return (EVAL_BODY_INCLUDE); } public int doEndTag(){
return (EVAL_PAGE); } public String getDist() {
return dist; } public void setDist(String dist) {
this。
dist = dist; } public String getDistName() {
return distName; } public void setDistName(String distName) {
this。distName = distName; } public String getScope() {
return scope; } public void setScope(String scope) {
this。
scope = scope; } public String getSource() {
return source; } public void setSource(String source) {
this。source = source; } }。