それが問題なのかどうかはわかりませんが、そう思います。私は2つの送信ボタンがある場所から持っています。最初の 1 つはシリアル番号から製品情報を取得し、2 つはフォーム全体を再度送信します。
検索ボタンとコード:
ボタン 1
<p:column><h:outputLabel value="#{bundle.newRma_label_sarjanumero}" for="sarjanro" /></p:column>
<p:column><p:inputText id="sarjanro" value="#{MainController.selected.sarjanro}" style="width: 200px;" /></p:column>
<p:column><p:commandButton icon="ui-icon-search"
action="#{MainController.haeTiedotSarjanrolla}" style="width: 100px;" update=":messagePanel"/></p:column>
//Fetching product info with serial number
public String haeTiedotSarjanrolla() {
log.info("sarjanro=" + current.getSarjanro());
Sarjanumerot s = null;
s = helper.getSerialInfo(current.getSarjanro());
if (s != null) {
current.setAn8(s.getAn8());
current.setDsc1(s.getDsc1());
current.setDsc2(s.getDsc2());
current.setSarjanro(s.getId().getLotn());
current.setTuotenro(s.getId().getLitm());
}
// Back to same page!
return "newRma";
}
別のボタン (保存)
<p:column><p:commandButton action="#{MainController.talletaUusiRma}" value="#{bundle.newRma_tallenna}" immediate="true" style="width: 220px;"/></p:column>
保存 (ボタン 2) は機能していますが、リクエストは空で、データはありません。私はそれをそのようにチェックしようとしましたが、常にNULLです:
最初の送信後に入力されない別のフィールド:
<p:row>
<p:column></p:column>
<p:column><p:outputLabel value="#{bundle.newRma_shortdesc}" for="shortdesc"/></p:column>
<p:column><p:inputTextarea rows="4" cols="30" id="shortdesc" value="#{MainController.selected.shortdesc}" style="width: 200px;"/></p:column>
</p:row>
Map<String, String> parameterMap = (Map<String, String>) FacesContext.getCurrentInstance()
.getExternalContext().getRequestParameterMap();
String temp = parameterMap.get("shortdesc");
temp は常に NULL です!!
これをprimefaces、ajax、jsなどで処理するベストプラクティスはありますか?
ありがとう!サーミ語