Web アプリケーションの開発は初めてで、ICEfaces プラグインをインストールしました。このチュートリアルを見つけて、それを操作する方法を学びましたが、最初に与えられた例は私のIDEでは機能しません。
Web アプリケーションで dateTimeEntry を使用する方法を示すチュートリアルの最後の部分についてです。したがって、index.xhtml が次のようになるように、指示に従いました。
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:icecore="http://www.icefaces.org/icefaces/core"
xmlns:ace="http://www.icefaces.org/icefaces/components"
xmlns:ice="http://www.icesoft.com/icefaces/component">
<h:body>
<form>
<ace:dateTimeEntry id="dateTimeEntryId"
value="#{yourBean.selectDateProperty}" timeZone="Canada/Mountain"
pattern="MMM/dd/yyyy" style="width: 729px; " renderAsPopup="true">
</ace:dateTimeEntry><br />
</form>
</h:body>
</html>
そして、私のJava Beanは次のようになります:
package org.icefaces.view;
import java.io.Serializable;
import java.util.Date;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import org.icefaces.ace.event.DateSelectEvent;
@ManagedBean(name= "yourBean")
@ViewScoped
public class YourBean implements Serializable {
/**
*
*/
private static final long serialVersionUID = 5058131064162864510L;
private Date selectDateProperty = new Date(System.currentTimeMillis());
public Date getSelectDateProperty() {
return selectDateProperty;
}
public void setSelectDateProperty(Date selectDateProperty) {
this.selectDateProperty = selectDateProperty;
}
public void dateSelectListener(DateSelectEvent event) {
setSelectDateProperty(event.getDate());
}
}
プロジェクトの構造は次のようになります。
ポイントは、チュートリアルでは、Java Bean を保存する場所が指定されていないことです。したがって、Javaリソースディレクトリに保存する必要があると思いますが、アプリが機能しないためわかりません。空白の画面が表示されます。サーバーとその構成は有効だと思います。なぜなら、いくつかの Img またはボタンをドロップして、ブラウザーで結果を確認できるからです。そのため、Java Bean が xhtml ファイルとどのように接続されているかをよく理解していなかったと思います。ManagedBean - 属性で動作すると思いますが、それについてはわかりません。