Java实现动态页面代码 java动态ui

在Java中动态二次元世界怎么制作由于开发需要(为界面提供扩展外观) , 最近研究了一下从运行Jar中代码的实现 。发现Java中的ClassLoader搭配上反射功能就能实现,基本思路如下:
编写一个接口,让编写的外部需要运行的类(要放到Jar中的)实现这个接口 。
通过ClassLoader加载那个Jar文件,得到一个Class 。然后newInstance()创建一个对象
然后按照接口中的方法去调用指定函数
代码例子:
制作一个Java的记事本程序(NotePad)
然后会从Style.jar中加载程序所需要的样式
其中Style.jar中有一个MyStyle的类实现了一个StyleInterface的接口
接口代码如下:
public interface StyleInterface {
public String getStyle();
}
MyStyle类的代码如下:
public class MyStyle implements StyleInterface{
@Override
public String getStyle() {
return "我是从MyStyle中得到的样式代码!";
}
}
然后,在记事本主程序程序中通过如下方式调用:
String class_path = "MyStyle";//Jar中的所需要加载的类的类名
String jar_path = ":\Style.jar";//jar所在的文件的URL
try {
ClassLoader cl = new URLClassLoader(new URL[]{new URL(jar_path)});//从Jar文件得到一个Class加载器
Class? c = cl.loadClass(class_path);//从加载器中加载Class
StyleInterface sif = (StyleInterface) c.newInstance();//从Class中实例出一个对象
System.out.println(sif.getStyle());//调用Jar中的类方法
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
注意:
class_path必须是完整类名(连同所在的包的路径),例如:在myjava.test下有一个类Test,则Test的完整类名是:myjava.test.Test.而如果是在"缺省包"下的类,就可以省略包的路径(本来就没有) 。
jar_path不是Jar文件的路径,而是Jar文件的URL 。
通常可以这样表示:"文件的绝对路径"
从Class中实例出对象时 , 一定要把Object强制转换成实现指定接口的类,就想例子中的StyleInterface
Java动态生成代码可以的,我说说大概思路 , 很简单,你自己具体实现吧,把代码写给你没意义的:
1.将你这段字符串输出到一个文件里,用Java类文件的方式命名 。
2.调用外部javac命令将该文件编译 。
3.用类加载器(ClassLoad)动态加载新的class文件并用Class.forName()注册该类,然后就可以正常使用了 。
上面的每一步都能在baidu中找到实现方法,自己发挥吧 。
做动态网页,java EE tomcat mysql 在java EE中应该如何做?一般步骤是什么?my eclipse,mysql,tomcat,JDK,还有连接mysql的jar包,准备好之后,然后配置连接数据库 。然后在myeclipse里新建工程,在webroot下建立JSP,然后在web.xml配置servlet,然后启动tomcat.前台的网页会根据web配置的servlet找到相关的实现类(此类必须继承servlet),然后,实现类根据刚才配置的连接数据库的信息 , (加载驱动用户名密码),去数据库读取信息 , 然后再返回
JAVA动态生成HTML代码freemarker没有功能 。freemarker要求你自己把东西取出来放到request的attribute里面,然后在ftl文件中使用那些attribute 。
可以自己用Java反射来得到实体中字段 , 然后自己拼html字符串
【Java实现动态页面代码 java动态ui】Java实现动态页面代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java动态ui、Java实现动态页面代码的信息别忘了在本站进行查找喔 。

    推荐阅读