2013年7月30日 星期二

Menu 淺談

在Android 中的Menu可以使用XML來開發,在Menu.xml 中可以新增Item1,Item2 





<menu 
xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="@string/action_settings"/>
    <item android:id="@+id/item1" android:title="item1"></item>
    <item android:id="@+id/item2" android:title="item2"></item>


</menu>


在模擬器呈現出來的結果如下。


在Activity 中要使用的方法:



其中item.getItemid()會傳出一組序號來辨識所選擇的是哪一個item,可以用R.id.item1 來辨視鎖選擇的item



2013年7月29日 星期一

Menu 的事件觀察


  1. 先Create基本的<LinearLayout> ,



基本配置如下

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

</LinearLayout>

回到Activity 觀察:
onCreateOptionsMenu 事件中,寫了一個Log.i 觀察
Log.i("Jacky","onCreateOptionsMenu");

public boolean onCreateOptionsMenu(Menu menu) 
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
Log.i("Jacky","onCreateOptionsMenu");
return true;

} 

onMenuItemSelected 事件中,寫了一個Log.i 觀察

public boolean onMenuItemSelected(int featureId, MenuItem item)
 {
// TODO Auto-generated method stub
Log.i("Jacky","onMenuItemSelected");
return super.onMenuItemSelected(featureId, item);
}

onOptionsItemSelected事件中,寫了一個Log.i 觀察
public boolean onOptionsItemSelected(MenuItem item) 
{
// TODO Auto-generated method stub
Log.i("Jacky","onOptionsItemSelected");
return super.onOptionsItemSelected(item);

}

執行程式,按下模擬器的Menu


在Log 中,Text 呈現onCreateOptionMenu ()

按下Setting 鍵後


2013年7月14日 星期日

Servlet 的部署描述檔

在Tomcat 伺服器下對應到根目錄"/" 的預設環境是servlet_root/webapps/ROOT,這表示在servlet_root/webapps/ROOT/WEB_INF/classes目錄下的servlet 都可以用類似servlet/HelloWorld
來存取。

在WEB_INF目錄下的web.xml 稱為部署描述檔,這是一個具有標準DTD的XML檔。其中也包含了控制servlet 控制的行為。


  
擷取web.xml 中相關設定來看

<servlet>
        <servlet-name>Hello</servlet-name>
        <servlet-class>Servlet.HelloServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Hello</servlet-name>
        <url-pattern>/hello.html</url-pattern>
    </servlet-mapping>


我們可以透過執行http://localhost:8084/FirstServlet/hello.html 來啟動HelloServlet,藉由設定servlet name 的關係,找到對應的servlet

2013年7月13日 星期六

JSTL 概述

JSTL 是JSP Standard Tag Library 的縮寫。所謂的標籤是指JSP 作為Java EE 分層程式中顯示層的一種顯示方案。 Model 1 (模式一):早期的Java Web 應用程式是不分階層的,也因為業務沒有分層,程式碼顯得凌亂也不易維護。 Model 2 (模式二):將Web 分為幾個層,每個層處理不同事情,比較經典的分層結構為MVC (Model -View-Control)。在MVC 架構中Model 處理業務相關,View 處理顯示相關,而Control 協調Model層與View 層。Control 層中一般為Servlet,View 層為JSP 。 在JSP中可以使用Scriptlet 指令稿來完成資料顯示;但是Scriptlet 如果與JSP 中的HTML混在一起,可讀性與可維護性將變差,如果要實現複雜的顯示功能,Scriptlet 也不方便。而JSP標籤與HTML 相似,遵循XML與法,將使JSP 顯得簡潔,乾淨。 從JAVA EE 5開始,JAVA EE 內建對JSTL 的支援,JSP中可直接使用,無須再設定web.xml。 Core標籤函式庫是JSTL 的核心標籤函式庫。實踐了基本功能。 標籤 JSTL 中以out 標籤來顯示資料,例如。