AdSense

網頁

2018/6/30

2018/6/29

CSS 置中區塊

CSS 置中區塊。但只有在一開始的畫面置中而已

Vue 我的第一支Vue.js

我的第一支Vue.js。

ZK 切換背景主題(Theme)

ZK 切換背景主題Theme的方法如下(以Sapphire為例)。

2018/6/28

Windwos 10 預設瀏覽器重開機後被重設回IE

微軟Windows 10 (企業版 版本1709)真的很不道德,把預設瀏覽器改成Chrome後,只要重開機又會被改回IE,真他媽的,網路上找了一圈還是無解。

Java 如何直接建立帶有key value值的Map物件

在Java 常用Map物件來傳遞參數,而一般建立一個key value的Map物件的方式如下

2018/6/26

Java 取得內部類別的實例

一個類別中的類別為內部類別(nested inner class),取得內部類別的方法如下。

Java Set可以做為Map的key嗎?

可以,但注意不要改變Set物件的內容。

Java Regex 小工具

寫個簡單的Java正規表示regex的產生器,目的是拿來Validate前端的輸入資料是否滿足條件。

ZK Grid Cell的內容不要斷行

ZK 如果不要Grid的Cell中的內容被斷行,可在<label>設定css的white-space:nowrap

2018/6/25

ZK zul匯入外部css

透過<style>來匯入外部的css,並在ViewModel產生路徑來避免cache。

ZK 關閉zul頁面及外部匯入的css快取(cache)

ZK 可使用下面設定來防止zul頁面及匯入的css被cache住。

2018/6/23

CSS 屬性選擇器 Attribute Selector [attribute*=value]

CSS Attribute Selector [attribute*=value]的意思是選取屬性值中包含指定子字串的元素。

JPA JPQL查詢語法

JPA的JPQL(Java Persistence Query Language)語法可類似SQL,但其查詢資料源是持久化物件(Entity)而非資料庫本身。

2018/6/22

Hibernate JPA 雙向一對多/多對一設定 Bidirectional One To Many / Many To One

一個作者(Author)有多本書(Book),JPA 雙向一對多/多對一實體關聯設定如下。

2018/6/21

Lombok 使用lombok的問題

Lombok是一個IDE插件 + library的組合,主要作用是用來減少Java的冗長(verbose),尤其是POJO類的getter與setter,建構式,toString,equals,hashCode等樣板程式(boilerplate code),或幫你注入Logger的實例。透過在POJO類別加上lombok的注釋@Data@Getter@Setter@ToString@EqualsAndHashCode等。

ZK 讀取WEB-INF中的圖檔

ZK 取得WEB-INF中的檔案的方法如下

ZK 取得ServletContext

ZK 8 取得ServletContext的方法如下。

2018/6/20

Hibernate JPA 單向一對多Unidirectional One To Many設定

JPA單向一對多關係(unidirectional one to many)設定如下

JPA @OneToOne, @OneToMany的orphanRemoval屬性

在JPA的@OneToOne(一對一)及@OneToMany(一對多)有一個orphanRemoval屬性,其作用如下。

2018/6/19

SQL Server SSMS 設定主鍵(Primary Key)欄位自動遞增(auto increment)

在SSMS物件總管(Object Explorer)右鍵點選資料表 -> 設計 -> 選擇主鍵欄位,在下方的[資料行屬性](Column Properties)視窗的[識別規格](Identity Specification)項下的[為識別](Is Identity)改為'是'並存檔即可。

JPA Hibernate Entity映射欄位只要讀取不要新增或更新

如果映射資料表的Entity類別的某個欄位只要查詢資料庫的資料,但忽略新增或修改,則可在屬性上使用@Column(name="column_name", insertable=false, updatable=false)

2018/6/18

SQL Server SSMS 日期欄位設定新增及修改時自動插入

在SSMS若要對資料表欄位(column field)設定預設值,方法如下。

SSMS 新增資料表時,出現刪除的資料表仍然存在的錯誤

在SSMS的物件總管中刪除了某個資料表,然後再重新建立相同名稱的資料表時卻出現資料表[名稱]仍存在的錯誤,導致無法新增。

SQL Server SSMS 檢視資料表的外鍵(Foreign Key)設定

在Microsoft SQL Server檢視資料表的外鍵(FK, Foreign Key)的語法如下。

ZK MVVM zul套用BindComposer

從ZK 8開始,只要UI元件的viewModel屬性有被設定到ViewModel類別,則org.zkoss.bind.BindComposer會自動套用。

ZK 將org.zkoss.image.Image存至檔案系統

將前端上傳的圖像(org.zkoss.image.Image)儲存至檔案系統(file system)中。

JPA 使用@Transient來忽略Entity屬性映射至資料表

JPA預設會將Entity類別的所有屬性與資料表的欄位做映射,如果要忽略某個屬性,則在該屬性掛上@Transient annotation。

ZK MVVM上傳檔案

ZK MVVM上傳檔案範例如下。

ZK 在ViewModel中取得contextPath

在ZK使用以下來取得應用程式根目錄context path。

Java WebApp javax.imageio.IIOException: Can't read input file!

當在Java程式中使用ImageIO.read(File file)讀取指定路徑的圖片時發生錯誤如下。

Java WebApp的上傳檔案應該存放在哪裡?

在Java網路應用程式(WebApp),使用者上傳的檔案,例如大頭照,應該儲存在哪裡?

2018/6/17

ZK <selectbox>下拉選單value text

ZK <selectbox>下拉選單搭配value text的MVVM做法如下。

ZK i18n 多語系設定

ZK i18n多語系的語言設定檔預設會抓取WEB-INF目錄下的zk-label_lang_CNTY.properties檔,例如使用WEB-INF/zk-label_zh_TW.properties作為繁體中文語系的來源。

2018/6/16

ZK MVVM 使用MessageBox對話框確認動作

在ZK使用MVVM的方式來顯示MessageBox彈出確認對話框的作法如下。

ZK 在輸入欄位<textbox>設定郵件格式限制

ZK <textbox>如要設定郵件格式的限制範例如下。

2018/6/15

Hibernate JPA JPQL org.hibernate.hql.internal.ast.QuerySyntaxException: [entity_name] is not mapped

今天再用JPA JPQL查詢時,出現錯誤如下

org.hibernate.hql.internal.ast.QuerySyntaxException: [entity_name] is not mapped

2018/6/14

JPA @PersistenceUnit無法注入EntityManagerFactory

若果要使用JPA的@PersistenceUnit注入EntityManagerFactory的實例,則所存在的類別物件必須被"容器"(container)所管理。否則無法注入EntityManagerFactory

Java 什麼是ThreadLocal

Java的ThreadLocal所建立的變數只能被目前的執行緒(thread)存取,而其他執行緒無法存取。

Hibernate JPA Entity 生命週期 (JPA Entity Lifecycle)

在使用Hibernate JPA之前要先了解什麼是Entity生命週期是什麼,否則會像我在進行新修刪查(CRUD)的操作時一直碰到錯誤。(我是新手)

2018/6/13

Hibernate JPA 設定多個資料庫來源

Hibernate JPA若要設定多個資料庫來源,則可在persistence.xml中設定多個persistence unit。

Hibernate JPA 主鍵欄位自動遞增的實體類別設定

如果資料表的主鍵欄位(primary key column)是設定為自動遞增(auto increment),則在Java應用程式中對映的實體類別設定如下。

JPA + Hibernate + MySQL persistence.xml 基本設定

JPA 2.1 + Hibernate 5.2.17 + MySQL 8.0.11 persistence.xml的一些設定。

ZK 開啟及關閉modal <window> (MVVM)

在ZK要以MVVM的方式開啟<window>及關閉的方法如下(zk 8.5.1)。

2018/6/12

ZK 如何在include的zul頁面中切換成另一個zul

假設今天有個main.zulinclude了inner1.zul。若要在inner1.zul直接換成inner2.zul的作法如下。

ZK 傳遞參數至include的zul頁面及ViewModel

ZK從外部zul(outer zul)傳送參數給incude的zul(inner zul)及其ViewModel的方法如下。

Regex 只允許輸入中英文數字

只允許輸入中英文數字的regex如下

/^[0-9a-zA-Z\u4e00-\u9fa5]*$/

2018/6/11

ZK 使用MVVM查詢並使用Grid呈現查詢結果

本使用ZK MVVM來做一個模擬查詢的簡單功能。

ZK 如何畫一條類似<hr>效果的水平線

若要在ZK的zul畫一條類似HTML的<hr>的水平分隔線,可使用<separator bar="true"/>

2018/6/10

多國語系 i18n 應用程式資料庫設計

最近開始思考多國語系(i18n)應用程式的資料庫要怎麼設計。

ZK 多語系 i18n zk-label.properties (i3-label.properties) 中文顯示Uncode編碼問題

ZK的多語系(i18n)的支援可透過在WEB-INF目錄下設定zk-label_lang_CNTY.properties檔(舊版的好像是叫做i3-labels.properties),並在zul直接透過EL及隱含物件labels來存取。(注意labels是全小寫,在Eclipse編輯器大寫"L"和小寫"l"的斜體長得很像,剛才因為這個小差異折騰了半天。)

<label value="${labels.app.login}"/>

但今天在Eclipse Properties Editor編輯好properties檔時,在zul的畫面上卻是顯示中文的Unicode。

ZK 在Controller中加入元件的事件監聽器

下面範例在ZK MVC的Controller(Composer)中加入按鈕<button>的onclick事件監聽器,並在按下按鈕後改變<label>原本的值。

什麼是民粹?

最近常聽到民粹(populism)這個名詞,但一直不太清楚民粹和民主(democracy)的差別在哪,今天找到這篇的部分解釋還不錯(雖然我覺得作者舉得有些不太適用),然後我做了一點自己的小修改。

ZK 插入空白行(分隔行)<separator>

在HTML要插入新的一行(new line),最簡單的就是用<br>,而在ZK的zul則是使用<separator>標籤來分隔。

ZK Controller

ZK 可使用MVVM或MVC架構來設計你的應用程式(指UI元件(View)與資料及邏輯處理(Model)間的關係與控制)。MVVM是使用ViewModel來處理與元件的關係,而MVC則是使用Controller(也可稱作Composer)。

ZK 在zul套用css

在ZK的zul中的UI元件,可以設定sclass屬性來指定要套用的css效果,若要直接把css寫在元件的zul,必須寫在<style>標籤中。若是要引用外部的css檔,則使用<?link ?>

ZK EL語法可使用的隱含物件(implicit object)

ZK zul中可以使用EL語法來存取變數,物件,Java Bean,及預先定義好的隱含物件(implicit object),可使用的隱含物件請見Implicit Objects (Predefined Variables)

ZK <borderlayout>中元件的屬性

ZK <borderlayout>中元件的屬性說明如下

ZK 關閉<borderlayout>中元件的動畫效果

如果要關閉ZK <borderlayout>中元件預設的動畫效果關閉(例如開啟收合(collapsible)的動畫效果),可以在WEB-INF/zk.xml設定檔中加入下面設定即可。

ZK org.zkoss.zk.ui.UiException: Only one child and one caption is allowed: <Center q8BP5>

ZK <borderlayout>中的<north><west><east><south><center>都只能有一個子原件(除了<caption>),否則會出現下面的錯誤:

org.zkoss.zk.ui.UiException: Only one child and one caption is allowed

例如下面的<north>中有兩個<label>,就會引發此錯誤。

<borderlayout>
    <north>
        <label>LABLE 1</label>
        <label>LABLE 2</label>
    </north>
    ...
</borderlayout>

2018年6月 健身工廠桃園復興廠銀卡入會價格

今天(2018/6/10)去加入了健身工廠桃園復興館(桃園市桃園區復興路207號B1)的預售銀卡會員,原價格如下。

2018/6/8

ZK <hlayout>, <vlayout> hflex, vflex

這篇是ZK <hlayout><vlayout>及屬性hflexvflex的實驗。

ZK 教學資源

ZK的教學資源匯整

ZK 如何讓<borderlayout>的大小根據內容做調整

要讓<borderlayout>根據子元件的內容來決定大小,可使用vflex="min"屬性。

建立第一個ZK Maven網頁應用程式

這篇介紹如何在Eclipse建立第一個ZK + Maven網頁應用程式

2018/6/4

Eclipse Maven build java.lang.ClassNotFoundException問題

當你在Eclipse啟動在Tomcat上運行的Maven專案時,在啟動過程中如果出現了java.lang.ClassNotFoundException: 某個library的類別名稱,則可能是因為Tomcat找不到那個依賴的library。

AdSense