導航:首頁 > 編程語言 > freemarkerjava方法調用

freemarkerjava方法調用

發布時間:2022-03-05 10:45:41

① 我在java的freemarker文件里有寫個excel按鈕,在action裡面調用方法沒實現

在excel方法第一行打斷點,進入到斷點中了嗎?
如沒有,檢查jsp上提交的那段method.在browser的狀態欄或debug 腳本可以查看是否進入到action.
如解決不了且不涉及隱私,可以發給我,大家互相找找原因.

② FreeMarker里如何像jsp一樣用<% %>調用java代碼,如果不能,有什麼方法可以實現

freemarker中通過使用宏,自定義函數或指令在Java類里編寫邏輯。你可以找一份freemarker的教程學習一下

③ freemarker 在java常用嗎

基本上,FREEMAKER可以替代JSP了
freemarker現在用途很多
1、CMS系統的模板
2、生成其他文本類型的模板(比如代碼生成器等)
3、替代JSP
freemarker相對JSP的優勢在於,越是復雜的頁面,freemarker的效率相比JSP就越高。
同時freemarker的宏在編寫控制項的時候也比jsp的 taglib更加快捷方便
同時freemarker還提供了較為豐富的擴展介面,在function和macro無法滿足需求的情況下,還可以根據介面實現自己的freemarker擴展

④ 如何在freemarker中調用java的方法

解決方案 »

freeer可以聲明變數,可以寫一些函數,可以調用自己的函數
可~~要實例化java類並且調用它的方法~~~沒遇到過....
幫忙頂!期待高手

急啊,我也想在ftl中調用一個類的靜態方法...

可以,可以將你寫的類當成對象假如到MAP中
然後在再用map?key的方法獲得該類
JAVA代碼
maplist.put("typeTool",this);
FREEMARKER
<#assign name=typeTool.getTypeName(key)>${name}

方法1:
##定義配置文件 freeerstatic.properties
_Validator=com.longyou.util.Validator
_Functions=com.longyou.util.Functions
_EscapeUtils=com.longyou.util.EscapeUtils
/調用代碼
${_Functions.toUpperCase("Hello")}<br>
${_EscapeUtils.escape("狼的原野")}方法2:
${stack.findValue("@package.ClassName@method")}${stack.findValue("@package.ClassName@property")}因為 stack 是webwork結合 freeer 後在 ftl 中可以用的,其他的還有 ${base}等等

⑤ 請教FreeMarker在java web開發中使用方法

在 Web應用中使用FreeMarker
在Web應用中使用FreeMarker跟在Java程序中使用並沒有太大的區別. 下面是是一個在Web中使用的例子,用來生成HTML頁面的模板文件內容如下:
<html>
<head>
<title>FreeMarker 的HelloWorld</title>
</head>
<body>
${message}
</body>
</html>
我們在Web應用中使用FreeMarker時,應該讓Servlet來合並模板和數據,因此,Servlet負責創建Configuration實例,並負責合並模板和數據,下面是Servlet源代碼:
package lee;
import java.util.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import freemarker.template.*;
public class HelloServlet extends HttpServlet
{
private Configuration cfg;
public void init()
{
//初始化FreeMarker配置
//創建一個Configuration實例
cfg = new Configuration();
//設置 FreeMarker的模版文件位置
cfg.(getServletContext(), "WEB-INF/templates");
}

public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
//建立數據模型
Map root = new HashMap();
root.put("message", "Hello FreeMarker!");
//取得模版文件
Template t = cfg.getTemplate("test.ftl");
// 開始准備生成輸出
// - 使用模版文件的charset作為本頁面的charset
// - 使用text/html MIME-type
response.setContentType("text/html; charset=" + t.getEncoding());
Writer out = response.getWriter();

//合並數據模型和模版,並將結果輸出到out中
try
{
t.process(root, out);
}
catch (TemplateException e)
{
throw new ServletException("處理Template模版中出現錯誤", e);
}
}
}
可以看到這個Servlet類的代碼與普通的Java程序中使用FreeMarker大致一樣,區別有兩個:1,設置FreeMarker載入模板的方法不一樣,在Servlet中設置載入的方法是,第一個參數是本web應用的 ServletContext,第二個參數是模板文件的路徑.;2,結果必須輸出到HttpServletResponse中,才能被瀏覽器載入.
配置Servlet的web.xml文件中的代碼如下:
<web-app>
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>lee.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>

⑥ 請問一下,如何在Freemarker中實現類似java中的continue功能,即終止當前循環,執行下一次循環!

你可以用<#if 條件滿足>代碼<#else>此處不用寫代碼直接為空就跳過這次循環</#if>

⑦ freeMarker怎樣調用java函數

太陽從黑色的凝塊間落下。
當慢慢地,在那完全的靜寂中,
連蜥蜴的瑟瑟聲都沒有,
礫石開始在貨哈哈車輪下發出嘎吱嘎吱的聲音.
突然我們看見,豎立在山上
一件粉紅的緊身胸衣,飄盪著絲帶。

⑧ 如何使用Freemarker生成java代碼

Freemarker是一個模板框架。我們可以通過Freemarker進行代碼生成或頁面的靜態生成。 現在簡單的說一下怎樣使用Freemarker Freemarker的主要生成類
public boolean generate(String templateFileName, Map data,

String fileName) {

try {

//取得模板的位置

String templateFileDir=templateFileName.substring(0, templateFileName.lastIndexOf("/"));

//取得模板的名字

String templateFile=templateFileName.substring(templateFileName.lastIndexOf("/"), templateFileName.length());

//取得生成文件的路徑

String genFileDir=fileName.substring(0, fileName.lastIndexOf("/"));

Template template = ConfigurationHelper.getConfiguration(templateFileDir).getTemplate(templateFile);

File fileDir=new File(genFileDir);

org.apache.commons.io.FileUtils.forceMkdir(fileDir);

File output = new File(fileName);

if(output.exists()){

//如何代碼已存在不重復生成

return false;

}

Writer writer = new FileWriter(output);

template.process(data, writer);

writer.close();

} catch (TemplateException e) {

e.printStackTrace();

return false;

} catch (IOException e) {

e.printStackTrace();

return false;

}

return true;

}

代碼中的Map 是模板所需要的數據,我們可以通過面向對像的方法把數據存在模板中public boolean genDaoInterface(String fileName){

DaoModel Model=new DaoModel();

//設置Dao實現類的包名

Model.setPackageName(DaoConstant.PACKAGE);

//取得介面名

String className=StringUtils.substringBefore(fileName,".");

//設置介面名

Model.setClassName(className);

Map<String, Object> data = new HashMap<String, Object>();

data.put("model", Model);

//設置生成的位置

String filePath=new String("src/"+package2path(DaoConstant.PACKAGE)+"/"+fileName);

//代碼生成

return super.generate(DaoConstant.INTERFACE_TEMPLATE, data, filePath);

}

data.put("model", Model);由這句代碼可看出我們將可以在模板中直接調用這些數據package ${model.packageName};

public interface ${model.className} extends BaseHibernateDao {

}

⑨ FreeMarker里如何調用java代碼

不能使用java代碼,只能使用el表達式,來輸出展示數據..

freemarker 的原則或初衷:
數據+模板=輸出

模板就是 freemarker了,這樣程序員就不能把大量java代碼寫入, 美工和程序員 工作就可以獨立了

⑩ freemarker中有類似java中split的方法嗎

<#list"aaa,bbb,ccc,ddd"?split(",")asstr>${str}</#list>

閱讀全文

與freemarkerjava方法調用相關的資料

熱點內容
優信二手車解壓後過戶 瀏覽:62
Windows常用c編譯器 瀏覽:778
關於改善國家網路安全的行政命令 瀏覽:833
安卓如何下載網易荒野pc服 瀏覽:654
javainetaddress 瀏覽:104
蘋果4s固件下載完了怎麼解壓 瀏覽:1003
命令zpa 瀏覽:286
python編譯器小程序 瀏覽:945
在app上看視頻怎麼光線調暗 瀏覽:540
可以中文解壓的解壓軟體 瀏覽:593
安卓卸載組件應用怎麼安裝 瀏覽:913
使用面向對象編程的方式 瀏覽:340
程序員項目經理的年終總結範文 瀏覽:930
內衣的加密設計用來幹嘛的 瀏覽:433
淮安數據加密 瀏覽:292
魔高一丈指標源碼 瀏覽:982
松下php研究所 瀏覽:168
c回調java 瀏覽:401
夢幻端游長安地圖互通源碼 瀏覽:746
電腦本地文件如何上傳伺服器 瀏覽:314