0
두 개의 텍스트 필드가 입력 된 텍스트 대신 빈 문자열을 보내는 문제가 있습니다. 대화 상자 안에 있습니다. 관리 빈은 뷰 범위입니다. 이 명령 단추는 대화 상자가 열립니다 :저장할 때 PrimeFaces 대화 상자의 Null 속성
<p:commandButton id="btn-open_dialog-name_query"
oncomplete="PF('dialog_name_query').show();"
style="width: 209px; text-align: center;"
value="Save Query" />
대화는 다음과 같습니다
<p:dialog id="dlg_name_query" style="width:500px;" widgetVar="dialog_name_query" header="Save Query" hideEffect="fade" position="center center" resizable="false" showEffect="fade">
<p:panelGrid>
<p:row>
<p:column>
<p:outputLabel for="nameQuery" value="Name" />
</p:column>
<p:column>
<p:inputText id="nameQuery" value="#{dashboardDetailedMB.query.name}" />
</p:column>
</p:row>
<p:row>
<p:column>
<p:outputLabel for="descriptionQuery" value="Description" />
</p:column>
<p:column>
<p:inputText id="descriptionQuery" value="#{dashboardDetailedMB.query.description}" />
</p:column>
</p:row>
<p:row>
<p:column>
<p:commandButton id="btn-save_query-client" value="Save to current client">
<p:ajax event="click" listener="#{dashboardDetailedMB.saveQueryClient}" update="msg" />
</p:commandButton>
</p:column>
</p:row>
<p:row>
<p:column>
<p:commandButton id="btn-save_query-user" value="Save to current user">
<p:ajax event="click" listener="#{dashboardDetailedMB.saveQueryUser}" update="msg" />
</p:commandButton>
</p:column>
</p:row>
</p:panelGrid>
</p:dialog>
방법 saveQueryClient
:
public void saveQueryClient() {
try {
FacesContext fc = FacesContext.getCurrentInstance();
ExternalContext ec = fc.getExternalContext();
HttpServletRequest request = (HttpServletRequest) ec.getRequest();
HttpSession session = (HttpSession) request.getSession(false);
String querySql = (String) session.getAttribute("querySql");
query.setQuery(querySql);
queryBean.add(query);
queryBean.insertClientHasQuery(getClientId(), queryBean.getLastRow().getId());
jsfUtils.messages("INFO", "Query inserted!", "");
} catch (Exception ex) {
ex.printStackTrace(System.out);
jsfUtils.messages("ERROR", "Error when saving query to client!", "");
}
}
고마워요! 또한 사용자를 괴롭히지 않는 또 다른 문제를 해결했습니다. 이중 Ajax 요청 (아마도 중첩 된 양식 때문일 수 있습니다). – rsb2097