ひらがなのテキストをローマ字のテキストに変換できるパーサーを作成しました。 次に、私はあなたがPicture1で見ることができるfaceletを作った。ひらがなのテキストを入力して翻訳ボタンをクリックすると、両方のテキストエリアにガベージテキストが表示されます。パーサライブラリには単体テストがあり、すべてのテストがパスされます。 同じlibを使って小さなJavaFX GUIを作成しましたが、そのバグは存在しません。このバグは、デプロイしてブラウザで実行した後にのみ表示されます。 JSF 2.2とGlassfish 4.1.0をコンテナとして使用しています。JSFの入力フィールドは、デプロイ後最初のリクエストでmojibakeを表示してからうまく動作します。
Picture1の: このゴミが示された後、私は同じテキストを再入力し、それがうまく動作します。 それは他の時代と同じように動作します。 Picture2で見ることができます。私は非常に同じテキストを入力し、最初のバグの後でうまく動作します。
はいる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:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<title>Convert Hiragana, Romaji</title>
</h:head>
<h:body>
<h:outputStylesheet library="css" name="styles.css"/>
<f:view>
<div class="H_OuterDiv">
<h1><h:outputText value="Hiragana to Romaji" /></h1>
<h:form>
<div class="H_HiraganaTextArea">
<h3><h:outputText value="Enter Hiragana" /></h3>
<h:inputTextarea cols="30" rows="20" value="# {hconverter.hiraganaInput}"></h:inputTextarea>
</div>
<div class="H_MiddleDiv">
<div class="H_ButtonsDiv">
<h:commandButton value="Translate" action="# {hconverter.convertHiraganaToRomaji()}"></h:commandButton>
</div>
</div>
</h:form>
<div class="H_RomajiTextArea">
<h3>
Enter Romaji Text
</h3>
<h:inputTextarea value="#{hconverter.romajiOutput}" cols="30" rows="20" />
</div>
</div>
</f:view>
</h:body>
</html>
そしてここでは、管理対象Beanのコードです。 HiraganaLettersNewクラスはシングルトンです。
@RequestScoped
@Named
public class Hconverter {
private String hiraganaInput = null;
private String romajiOutput = null;
public String getHiraganaInput() {
return hiraganaInput;
}
public void setHiraganaInput(String hiraganaInput) {
this.hiraganaInput = hiraganaInput;
}
public String getRomajiOutput() {
return romajiOutput;
}
public void setRomajiOutput(String romajiOutput) {
this.romajiOutput = romajiOutput;
}
public void convertHiraganaToRomaji() {
HiraganaLettersNew parser = HiraganaLettersNew.getInstance();
romajiOutput = parser.parseHiraganaString(hiraganaInput);
}
}
誰かが私を助けていただけますか?私はfaceletsとJavaEEを初めて使っています。なぜこのバグが起こっているのかわかりません。前もって感謝します!
の可能性のある重複した[JSFの時間を設定し、間違った文字:のinputTextが最初に提出する(のみ)](https://stackoverflow.com/questions/ 9647380/jsfs-hinputtext-on-first-submit-onlyの間違った文字セット) – Chase