自己寫一個java代碼mvc核心類(實際項目使用)

我以前是從php過渡到java語言中,php中有公認的smarty類來說實現mvc功能,而過得到java時候,本來想找類似的類,但是由於各種原因,卻在我實際項目中沒有用到,而是我自己寫了一個簡單實用的來完成mvc架構實現。

自己寫一個java代碼mvc核心類(實際項目使用)

mvc核心代碼如下:

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.HashMap;
import java.util.Iterator;
/**
* Created by lt on 2016/9/10.
*/
public class MSmarty{
private String htmlfile;
private HashMap<string> assign=new HashMap<string>();
public MSmarty(String htmlfile){
this.htmlfile=htmlfile;
}
public void assign(String key,String value){
this.assign.put(key,value);
}
public String display(){
try {
BufferedReader fileReader = new BufferedReader(new FileReader(this.htmlfile));
String fileReaderLione=null;
String fileConnet="";
while ((fileReaderLione=fileReader.readLine())!=null){
fileConnet+=fileReaderLione;
}
fileReader.close();
Iterator<string> iterator=this.assign.keySet().iterator();
while (iterator.hasNext()){
String key=iterator.next();
fileConnet=fileConnet.replaceAll("\\",this.assign.get(key));
}
return fileConnet;
}catch (Exception e) {
System.out.print(e);
return "1";
}
}
}
/<string>/<string>/<string>

就是實現了視圖層變量的替換,對我來說視圖層中不該有if或for的存在,應該是邏輯層來實際的(三年前的一個代碼了)。

案例一:(類基本用法)

MSmarty mSmarty=new MSmarty(Setup.get("home")+"/views/html/test.html"); //home有項目根目錄
mSmarty.assign("str", "hello world");
String htmlStr=mSmarty.display();

html視圖層:





<title>test1/<title>





案例二:(視圖層嵌套,也可以說繼承)

MSmarty BSmarty=new MSmarty(Setup.get("home")+"/views/html/basics.html"); //基礎層對象
MSmarty mSmarty=new MSmarty(Setup.get("home")+"/views/html/show.html");
//嵌套層對象
mSmarty.assign("str","這是嵌套層內容");
BSmarty.assign("str", mSmarty.display());
String htmlStr=BSmarty.display();

basics.html視圖層:





<title>test1/<title>


這是基礎層的內容,如導航,字體css全項目設置




show.html視圖層:


雖然這個類不復雜,但是對我來說已經滿足的實際開發需求了,供大家借鑑。


分享到:


相關文章: