2015-03-31 2 views
1

У меня возникла проблема с выбором шрифтов. Когда я выбираю любую запись, мой сеттер не вызывает. Я нашел пару решение, как change template или change to ViewSCope я меняю все, но по-прежнему does't работы template.xhtmlвыбор примитивов не работает

<!DOCTYPE html> 
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" 
xmlns:f="http://java.sun.com/jsf/core" 
xmlns:h="http://java.sun.com/jsf/html" 
xmlns:c="http://java.sun.com/jsf/composite/custom" 
xmlns:p="http://primefaces.org/ui" 
xmlns:ui="http://java.sun.com/jsf/facelets"> 
<h:head> 
<title><ui:insert name="title">Default title</ui:insert></title> 
<f:facet name="first"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> 
    <meta name="viewport" content="width=device-width, initial-scale=1" /> 
    <title>Social Test</title> 
</f:facet> 
<f:facet name="middle"> 
    <h:outputStylesheet name="bootstrap/css/bootstrap.css" /> 
    <h:outputStylesheet name="css/style.css" /> 
    <h:outputStylesheet name="bootstrap/css/bootstrap-social.css" /> 
    <script 
     src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" /> 
    <h:outputScript name="bootstrap/js/bootstrap.js" /> 
    <!-- h:outputScript name="js/script.js" /--> 
</f:facet> 
<f:facet name="last"> 
</f:facet> 
</h:head> 
<h:body> 
    <div id="header"></div> 
    <div id="menu"></div> 
    <div id="content"> 
     <ui:insert name="content"></ui:insert> 
    </div> 
    <div id="footer"></div> 
</h:body> 
</html> 

ticketEdit.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"> 
<ui:composition template="/template/template.xhtml" 
xmlns:h="http://java.sun.com/jsf/html" 
xmlns:f="http://java.sun.com/jsf/core" 
xmlns:ui="http://java.sun.com/jsf/facelets" 
xmlns:c="http://java.sun.com/jsf/composite/custom" 
xmlns:p="http://primefaces.org/ui"> 
<ui:define name="content"> 
      <h2 class="form-signin-heading">#{labRes.add_ticket}</h2> 
      <h:form id="form"> 
       <p:accordionPanel> 
        <p:tab title="#{labRes.train_details}"> 
         <h:panelGrid columns="2" cellpadding="10"> 
          <c:autoComplete 
           completeMethod="#{ticketBean.trainAutoCompleteBean.complete}" 
           minQueryLength="2" 
           converter="#{ticketBean.trainAutoCompleteBean.converter}" 
           nameLable="#{labRes.train_number}" 
           autoValue="#{ticketBean.selectedTrain}" forceSelection="true" 
           queryDelay="500" effect="fade" cid="ticketAuto" listener="null" 
           labelStyleClass="labelPaddingParameter" ajax="true" 
           update="@form" /> 
          <c:inputText id="nr" cid="cnr" 
           nameLable="#{labRes.train_number}" disabled="true" 
           inputValue="#{ticketBean.selectedTrain.name}" 
           labelStyleClass="labelPaddingParameter" /> 
         </h:panelGrid> 
        </p:tab> 
        <p:tab title="#{labRes.train_details}"> 
         <h:panelGrid columns="1" cellpadding="10" id="pgTrainDetails"> 
          <c:calendar pattern="MM-dd-yyyy" value="#{ticketBean.day}" 
           isListener="true" update=":form" ajax="true" 
           nameLable="#{labRes.departure_date}" cid="depDat" 
           listener="#{ticketBean.onDateSelect}" /> 
          <p:dataTable var="schedule" value="#{ticketBean.tripSchedules}" 
           selectionMode="single" 
           selection="#{ticketBean.selectedSchedule}" 
           rowKey="#{schedule.id}" styleClass="pickListWidth" 
           paginator="true" rows="10" 
           paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" 
           rowsPerPageTemplate="5" id="scheduleTable"> 
           <f:facet name="header"> 
            <c:calendar pattern="MM-dd-yyyy" value="#{ticketBean.day}" 
             isListener="true" update=":form" ajax="true" 
             nameLable="#{labRes.departure_date}" cid="depDat" 
             listener="#{ticketBean.onDateSelect}" /> 
           </f:facet> 
           <p:column headerText="#{menRes.id}" sortBy="#{schedule.id}" 
            style=" text-align:center"> 
            <h:outputText value="#{schedule.id}" /> 
           </p:column> 
           <p:column headerText="#{labRes.departure_time}" 
            sortBy="#{schedule.departure}" style="text-align:center"> 
            <h:outputText value="#{schedule.departure}" /> 
           </p:column> 

          </p:dataTable> 
         </h:panelGrid> 
        </p:tab> 
        <p:tab title="#{labRes.ticket_details}"> 
         <h:panelGrid columns="2" cellpadding="10"> 
         </h:panelGrid> 
        </p:tab> 
       </p:accordionPanel> 
      </h:form> 
</ui:define> 

Мой боб (я использую Spring), но Я должен использовать @ViewScope, потому что весна не содержит @Scope('view')

// the same annotations in AbstractBean 

@Component 
@ViewScope //faces bean package 
public class TicketBean extends AbstractBean { 


... code ... 

public TripSchedule getSelectedSchedule() { 
return selectedSchedule; 
} 

public void setSelectedSchedule(TripSchedule selectedSchedule) { 
this.selectedSchedule = selectedSchedule; 
} 

Спасибо за помощь!

+0

Вы уверены, что @Component работает с @Viewscoped? Возможно, это просто не работает, и по умолчанию запускается область по умолчанию. Тогда будет другой экземпляр компонента, и вызовы не будут успешными. См. Http://stackoverflow.com/questions/2118656/commandlink-commandbutton-ajax-backing-bean-action-listener-method-not-invoked – Kukeltje

+0

Также не включать вручную jquery.js – Kukeltje

+0

Да '@ component' работает с '@ ViewScope'. Я удаляю свои manully include .js и .css. Я могу удалить это потому, что я использую ' primefaces.THEME самозагрузки' в моем web.xml, но выбора все еще не работает – luprogrammer

ответ

2

Я думаю, вам нужно добавить Ajax к DataTable:

<p:ajax event="rowSelect"/> 
<p:ajax event="rowUnselect"/> 
+0

PrimeFaces Datatable может работать без Аякса – Kukeltje

+0

К сожалению, downvote был случайно , Не могу его удалить ... не знаю почему – Kukeltje

+0

Но разве не нужно отправлять форму? –

Смежные вопросы