`
文章列表
1.标量:  字符串  数字  布尔值  日期 2.容器:  哈希表  序列  集 3.子程序:  方法和函数  用户自定义指令 4.很少使用:  节点
在实际应用中数据模型经常会有可选的变量。除了 一些典型的人为原因导致失误,FreeMarker 不能容忍引用不存在的。 一个不存在的变量和一个是null 的变量,对于FreeMarker 来说是一样的,所以这里所指的丢失包含这两种情况。 1.不论在哪里引用变量,都可以指定一个默认值来避免变量丢失这种情况,通过在变量名 后面跟着一个!和默认值。 eg: <h1>Welcome ${user!"yale"}!</h1>或者<h1>Welcome ${user!' '}!</h1> 2.当然也可以在变量名后面通过放置??来询问Fre ...
1.if指令。 eg: <h1> Welcome ${user}<#if user == "yale">, our beloved leader</#if>! </h1> 当然啦,还有elseif,else指令等等 2.list指令 eg: <#list users as user> <tr><td>${user.name}</td><td>${user.pass}</td> </#list> 3.include 指令,我们可以在当前的模板中插入 ...
${…}:FreeMarker 将会输出真实的值来替换花括号内的表达式,这样的表达式被称为 interpolations 插值 FTL tags 标签(FreeMarker 模板的语言标签):FTL 标签和HTML 标签有一点相似,但是 它们是FreeMarker 的指令而且是不会直接输出出来的东西。这些标签的使用一般以符号# 开头。(用户自定义的FTL 标签使用@符号来代替# Comments 注释:FreeMarker 的注释和HTML 的注释相似,但是它用<#--和-->来分 隔的。任何介于这两个分隔符(包含分隔符本身)之间内容会被FreeMarker 忽略,就不会 输出出来了 ...
FreeMarker 是一款模板引擎:一种基于模板的、用来生成输出文本(任何来自于HTML 格式的文本用来自动生成源代码)的通用工具。它是为Java 程序员提供的一个开发包或者说 是类库。它不是面向最终用户,而是为程序员提供的可以嵌入他们开发产品的一款应用程序。
代码例子: package com.test; import java.net.ServerSocket; import java.net.Socket; /** * 服务器端 * @author yale * */ public class MainServer { public static void main(String[] args) throws Exception { ServerSocket ss = new ServerSocket(5000); while (true) { Socket socket = ...
代码例子: package com.test; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; /** * 服务端 * * @author yale * */ public class TcpServer { public static void main(String[] args) throws Exception { ServerSocket ss = n ...

URL简单例子

代码例子: package com.test; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.net.URL; public class URLConnectionTest { public static void main(String[] args) throws Exception { URL url = new URL("http://www.infoq.com"); ...
如果某个synchronized 方法是static的,那么当线程访问该方法时,它锁的并不是synchronized方法所在的对象,而是synchronized方法所在的对象所对应的Class对象,这些对象会对应唯一一个Class对象,因此当线程分别访问同一个类的两个对 ...
代码例子: package com.test; /** * 多线程同步:取钱 * * @author * */ public class FetchMoney { public static void main(String[] args) { Bank bank = new Bank(); Thread t1 = new MoneyThread(bank);//表示柜台取钱 Thread t2 = new MoneyThread(bank);//表示取款机取钱 t1.start(); t ...

Thread(3)

代码例子: package com.test; public class ThreadTest3 { public static void main(String[] args) { Runnable r = new HelloThread(); Thread t1 = new Thread(r); Thread t2 = new Thread(r); t1.start(); t2.start(); } } class HelloThread implements Runnable { / ...

Thread(2)

代码小例子: package com.test; public class ThreadTest2 { public static void main(String[] args) { Thread t = new Thread(new MyThread()); Thread t2 = new Thread(new MyThread2()); t.start(); t2.start(); } } class MyThread implements Runnable { public void run() { ...

Thread(1)

代码小例子: package com.test; public class ThreadTest { public static void main(String[] args) { Thread1 t = new Thread1(); Thread2 t2 = new Thread2(); t.start(); t2.start(); } } class Thread1 extends Thread { @Override public void run() { for (int i = 0; i < 1 ...

IO(二)

代码例子: package com.test; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; public class OutputStreamTest { public static void main(String[] args) throws IOException { OutputStream os =new FileOutputStream("C:/hello.txt"); Strin ...

IO(一)

代码例子 package com.test; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; public class InputStreamTest { public static void main(String[] args) throws IOException { InputStream in = new FileInputStream("c:/hello.txt"); ...
Global site tag (gtag.js) - Google Analytics