ʹÓÃJava½øÐÐWeb¿ª·¢µÄËæÏë
ʱ¼ä:2011-01-03
ÎÒÅóÓѾ³£ÒýÓÃÎÒµÄÒ»¾ä»°¾ÍÊÇ£ºÄãµÄJava¶ÔÎÒµÄJavascriptÊÇÇÖÈëµÄ....£¬·Â·ðËý±ÈÎÒ»¹OOÀ´×Å¡£
ÎÒ×Ô¼º¾ÍÌá³öÁËÒ»¸ö½â¾öµÄ·½·¨£º¾ÍÊÇ°ÑJava¶ÔÏóд³ÉJS¶ÔÏó£¬ÕâÑùWebÉè¼ÆÈËÔ±Ö»Òª¹Ø×¢JS¶ÔÏó£¬ÓÃJS¶ÔÏóÀ´äÖȾÕû¸öWebÒ³Ã棬ÕâÑùÎҾͲ»»áºÍËûµÄÁìÓò³åÍ»ÁË¡£
¼òµ¥À´Ëµ£¬ÎÒÃÇƽ³£µÄWEB¿ò¼Ü¶¼ÊǺųÆMVCµÄ£¬ÕâÑùËüÃǾͰÑVÕâ¸öÊÂÇéѹÔÚÁËJAVA³ÌÐòÔ±µÄÉíÉÏ£¬¿ÉÁ¯ÎÒµÄÉóÃÀ¹Û°¡¡«ËùÒÔÎÒÃÇÓ¦¸Ã°ÑV¼ÌÐøÍùÏÂÍÆ£¬ÍƸø¶ÔJAVAʲô¶¼²»¶®£¬µ«ÊÇÈ´Óзdz£·á¸»µÄWEBÉè¼ÆÈËÔ±µÄÉíÉÏ¡£×ܲ»ÄÜÈñðÈËȥѧJAVAѽ£¬ÄǾÍÖ»ºÃ°ÑJAVA¶ÔÏóд³ÉJS¶ÔÏó£¬ÕâÑùWEBÉè¼ÆÈËÔ±¾Í¿ÉÒÔÇáËɵ÷ÓÃJSÁË¡£
´óÌåʵÏÖ¹ý³ÌÊÇÕâÑùµÄ£º
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( "¡¡¡¡var " + 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.prin
|