jboss+ejb3.0の動的生成リストデータベースは更新されず、ページは操作可能

3434 ワード

@Removeは呼び出せませんが@Destoryは使えます.jarパッケージをロードする必要がありますか?
@Scope(ScopeType.PAGE)
@Name("messageManagerBean")
public class MessageManagerBean {

	@DataModel
    private List<Message> messageList;
    
    @DataModelSelection
    @Out(required=false)
    private Message message;
//    
//    @PersistenceContext(unitName="tpdb")
//    private EntityManager entityManager;
    
    EntityManager em = Persistence.createEntityManagerFactory("tpdb").createEntityManager();  
    
    @SuppressWarnings("unchecked")
	@Factory("messageList")
    public void findMessage(){
    	
    	messageList=em.createQuery("from Message o order by o.datetimeDate desc").getResultList();
    }
    
    public void select(){
    	message.setReadbook(true);
    }
    
    public void delete(){
    	
    	messageList.remove(message);
    	em.remove(message);
    	message=null;
    }
    @Delete
    @Destroy
    public void destory(){
    	
    }
    
    
}

ページコードは次のとおりです.
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:a4j="http://richfaces.org/a4j"
	xmlns:rich="http://richfaces.org/rich"
	xmlns:s="http://jboss.com/products/seam/taglib">
	<head>
	<title>Messages</title>
	</head>
	<body>
	<f:view>
	<h:form>
	<h2>Message List</h2>
	<h:outputText value="No messages to display" rendered="#{messageList.rowCount==0}"/>
	<h:dataTable var="msg" value="#{messageList}" rendered="#{messageList.rowCount>0}">
	<h:column>
	   <f:facet name="header">
	   <h:outputText value="ReadBook"/>
	   </f:facet>
	   <h:selectBooleanCheckbox value="#{msg.readbook}" disabled="true"/>
	</h:column>
	<h:column>
	 <f:facet name="header">
	 <h:outputText value="Title"/>
	 </f:facet>
	 <h:commandLink value="#{msg.title}" action="#{messageManagerBean.select}"/>
	</h:column>
	<h:column>
	 <f:facet name="header">
	 <h:outputText value="Date/Time"/>
	 </f:facet>
	 <h:outputText value="#{msg.datetimeDate}">
	    <f:convertDateTime type="both" dateStyle="medium" timeStyle="short"/>
	 </h:outputText>
	</h:column>
	<h:column>
	  <h:commandButton action="#{messageManagerBean.delete}" value="Delete" />
	</h:column>
	</h:dataTable>
	<h3><h:outputText value="#{message.title}"/></h3>
	<div><h:outputText value="#{message.text}" /></div>
	</h:form>
	</f:view>
	</body>
</html>