導航:首頁 > 編程語言 > java動態生成java文件

java動態生成java文件

發布時間:2022-08-05 11:43:46

A. 怎麼用java動態生成pdf文檔

Flying-Saucer + iText + Velocity
1. 第一步
將jar包放到你的工程里,需要的jar如下:
bcprov-jdk15-140.jar
core-renderer.jar
iText-2.0.8.jar
iTextAsian.jar
velocity-1.4.jar
Jar包下載地址:http://code.google.com/p/flying-saucer/downloads/list
2. 第二步
設計模版,進行排版調整樣式,css樣式也可以導入@import 等,通過Velocity模版引擎動態替換 頁面內容,以下是模版內容:
<?xml version="1.0" encoding="UTF-8" ?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>PDF模版</title>
<style type="text/css">
<!--
body {
font: 100% Verdana, Arial, Helvetica, sans-serif;
margin: 0;
padding: 0;
text-align: center;
color: #000000;
}
.oneColLiqCtrHdr #container {
width: 100%;
margin: 0 auto;
text-align: left;
}
div.header-left {display: none}
div.header-right {display: none}
div.footer-left {display: none}
div.footer-right {display: none}

B. 怎樣用java代碼動態生成資料庫表

這個就要藉助hibernate tools跟xdoclet來完成了;
首先你要在你的java代碼里應用xdoclet標簽,例如
Java code
private String name;

/**
* @hibernate.property column = "name" length = "50"
*/
public String getName() {
return this.name;
}

public void setName(String name) {
this.name = name;
}

其中,寫到javadoc上的@hibernate.property column = "name" length = "50"
就是xdoclet標簽,它需要xdoclet程序來處理,這里就需要用到hibernate tools。
具體做的話一般情況是建一個ant腳本來完成,例如:
XML code
<target name="hibernate-xdoclet" depends="init, init-xdoclet_hibernate"
description="Generate mapping documents">

<echo>+---------------------------------------------------+</echo>
<echo>| |</echo>
<echo>| R U N N I N G H I B E R N A T E D O C L E T |</echo>
<echo>| |</echo>
<echo>+---------------------------------------------------+</echo>

<delete>
<fileset dir="$" includes="hibernate.cfg.xml" />
</delete>
<echo message="hibernate.cfg.xml at $"></echo>
<sleep seconds="1"/>

<hibernatedoclet
destdir="$"
excludedtags="@version,@author,@todo,@see"
addedtags="@xdoclet-generated at $,@right The XDoclet Team,@author XDoclet,@version $"
force="false"
verbose="true">

<fileset dir="$">
<include name="com/**/model/**/*.java"/>
</fileset>
<hibernatecfg
version="3.0"
destDir="$"
dialect="org.hibernate.dialect.Oracle9Dialect"
driver="oracle.jdbc.driver.OracleDriver"
jdbcUrl="jdbc:oracle:thin:@localhost:1521:RESDL"
userName="test"
password="123"
showSql="true"
schema="true"
validateXML="true"
/>
<hibernate version="3.0"/>
</hibernatedoclet>

</target>
上面的代碼是生成hbm跟cfg文件的,下面再介紹如何從java類到資料庫:
XML code
<target name="hibernate-schema" depends="init, init-hibernate-schema"
description="Generate DB schema from the O/R mapping files">

<echo>+---------------------------------------------------+</echo>
<echo>| |</echo>
<echo>| R U N N I N G D B S C H E M A |</echo>
<echo>| |</echo>
<echo>+---------------------------------------------------+</echo>

<echo message="mysql.sql at etc/hbm2doc"></echo>
<sleep seconds="1"/>

<hibernatetool destdir="etc/hbm2doc">
<configuration propertyFile="$/hibernate.properties">
<fileset dir="$">
<include name="com/**/model/**/*.hbm.xml"/>
</fileset>
</configuration>
<hbm2ddl drop="true"
outputfilename="mysql.sql"/>
<hbm2doc/>
</hibernatetool>

</target>

當然ant工程里的一些初始化需要自己定義,我這里只摘錄關鍵部分,具體的東西請查閱相關文檔,hibernate tutorail里就有個例子

C. 如何動態去生成一個bean 88classnameextendsjava

創建javabean操作步驟:
定義一個class,比如TestBean。先定義好屬性(欄位),再定義好構造方法,類似:
public TestBean {
private String name;
private String password;
private String emailAddr;

public TestBean() {
}
// getter和setter方法
}
在package browser(包瀏覽器)中右鍵單擊java文件,選擇sources(源代碼),再選擇Generate getter and setter(生成getter和setter方法),在彈出的對話框里選擇要自動生成的屬性,通常選擇select all(全部選擇),最後點OK就可以了。
分享

D. 在Java中,有沒有動態生成方法的...辦法

這個也能實現的,這就得利用java的動態編譯,java中可以利用代碼臨時生成java文件,並且執行編譯,運行,但這個有一點麻煩,還要用到java中的反映機制.

apache的commons-beanutils包中就有這樣的方法,hibernate中映射類中的get與set方法是存在的.最好不要用臨時生成java文件,動態編譯.

E. Java動態生成代碼

可以的,我說說大概思路,很簡單,你自己具體實現吧,把代碼寫給你沒意義的:
1.將你這段字元串輸出到一個文件里,用Java類文件的方式命名。
2.調用外部javac命令將該文件編譯。
3.用類載入器(ClassLoad)動態載入新的class文件並用Class.forName()注冊該類,然後就可以正常使用了。
上面的每一步都能在中找到實現方法,自己發揮吧。

F. 怎樣通過後台action的java代碼,動態的在webroot下生成文件

思路:在action中寫個生成文件的方法,然後適當時候調用就可以了。
舉例,生成txt文件,放到webroot下:
String text = request.getParameter("text");
String readStr=""; //用於一直存儲
String read=""; //用於臨時讀取
FileReader fileread;
BufferedReader bufread;
try {
fileread = new FileReader("C:\\Documents andSettings\\Administrator\\Workspaces\\MyEclipse8.6\\TaskTwo\\WebRoot\\b.txt");
bufread = newBufferedReader(fileread);
try {
while ((read = bufread.readLine()) != null) {
readStr = readStr +read;
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}

G. java動態生成方法

可以的,我說說大概思路,很簡單,你自己具體實現吧,把代碼寫給你沒意義的:
1.將你這段字元串輸出到一個文件里,用Java類文件的方式命名。
2.調用外部javac命令將該文件編譯。
3.用類載入器(ClassLoad)動態載入新的class文件並用Class.forName()注冊該類,然後就可以正常使用了。
上面的每一步都能在中找到實現方法,自己發揮吧。
求採納

H. java編譯動態生成的類提示缺少包.類

這種情況,在A中,不可能import引用B相關的,要全部使用反射調用B類的屬性或方法。

I. java的動態代理到底生成了什麼

動態生成的實現類中的所有方法都是調用了this.h.invoke方法(即InvocationHandler的介面方法).
看到此, 也明白了java動態代理的實現機制了.
通過Proxy.newProxyInstance`調用ProxyGenerator.generateProxyClass方法獲得實現類的位元組碼數據, 然後載入到jvm中, 在調用構造函數, 生成實例. 這里是簡化的過程, 其中還有一些許可權檢查,緩存和優化處理等, 對於如何生成class文件的, 可以看下ProxyGenerator的代碼, 簡單的說就是按照指定的格式寫入位元組碼, 可以看出, 生成的實現類方法都是很有規律的

J. java怎麼動態生成文文件夾

new File("c:\\abc\\ader\\eior").mkdirs();
這個樣子

booleanmkdirs()
Creates the directory named by this abstract pathname, including any
necessary but nonexistent parent directories.

閱讀全文

與java動態生成java文件相關的資料

熱點內容
好興動app還款怎麼登錄不上去了 瀏覽:665
鄭州雲伺服器託管 瀏覽:722
伺服器地址跟蹤 瀏覽:980
免費google雲伺服器 瀏覽:516
摘譯和編譯的英文 瀏覽:359
熱泵壓縮機選型 瀏覽:121
op手機微信加密如何解除 瀏覽:386
如何在王牌戰爭找到高爆率伺服器 瀏覽:13
江浙小學語文輔導課用什麼APP 瀏覽:99
新夢幻大陸伺服器地址 瀏覽:241
網吧伺服器怎麼更換壁紙 瀏覽:530
linux命令方法 瀏覽:332
linux下載freetype 瀏覽:123
程序員入駐平台 瀏覽:327
程序員大戰外掛 瀏覽:745
html實例教程pdf 瀏覽:157
linux命令開放所有許可權 瀏覽:575
30歲能學會編程 瀏覽:737
小火箭的伺服器是什麼 瀏覽:967
cad查信息命令 瀏覽:402