2011-12-07 14 views
0

イムにXMLデータを作成します。リソースファイルを使用してJSPにXMLデータを作成しようとJSPの

MyData.properties:

nombreOfQuestions=2 
question1.description=what is the color? 
question1.responseValue1=Red 
question1.responseValue2=yellow 
question1.responseValue3=white 
question2.description=what is the Weight? 
question2.responseValue1=70 
question2.responseValue2=75 
question2.responseValue3=80 

myJsp.jsp:

<?xml version="1.0" encoding="UTF-8"?> 
<%@ page import="MessageResourcesHelper"%> 
<% 
MessageResourcesHelper helper = new MessageResourcesHelper (pageContext, "MyData"); 
String nombreOfQuestions= helper.getProperty ("nombreOfQuestions",0); 
%> 

<Question> 
<description>what is the color?</description> 
<response> 
    <value>Red</value> 
    <value>Yellow</value> 
    <value>White</value> 
</response> 
</Question> 

<Question> 
    <description>what is the Weight?</description> 
    <response> 
    <value>70</value> 
    <value>75</value> 
    <value>80</value> 
    </response> 
</Question> 

があります私が持っている疑問の何が何であれ、myData.propertiesから動的に「記述」と「値」を取り戻すためにjavaを使う方法はありますか?

答えて

0

プロパティファイルを読み込んだ後、キーを反復処理します。

各キーには、質問番号とその質問のプロパティがあります。それぞれの質問の応答プロパティには、応答番号と応答値があります。

Questionオブジェクトのマップまたはコレクションを作成します。各Questionオブジェクトには、descriptionプロパティと応答文字列のコレクションがあります。

それぞれのQuestionのプロパティは、その質問のdescriptionプロパティを反復するときに設定されます。各応答値プロパティーに対して、応答のコレクションにプロパティー値を追加します。

XMLに戻すには、質問リストをJSPに公開し、各質問を繰り返します(ループ内で質問の回答を繰り返します)。あるいは、通常のJavaライブラリを使用してオブジェクトをXMLに直接マーシャリングすることもできます。

あなたは実際にプロパティの名前が列挙されているので、質問のプロパティの数は必要ありません。

+0

応答Daveに感謝します。しかし、問題は、負荷の後に私はpropretiesファイルを反復する方法を知らないということです。 –

+0

@naj_ibああ。 Hm。 [APIドキュメント](http://docs.oracle.com/javase/6/docs/api/java/util/Properties.html)を見てみましたか?それが役に立つかもしれないと思われる[そこにあるメソッド](http://docs.oracle.com/javase/6/docs/api/java/util/Properties.html#propertyNames())があります。 –

+0

それが完了し、今私のJSPは、Jaxbコンバータによってロードされる準備が整いました:try { JAXBElement jaxbElement = null; synchronized(_unMarshaller){ jaxbElement =(JAXBElement )_unMarshaller.unmarshal(inStream); }(inStreamはInputStreamとしてjspですが)このJaxbexception:(JaxbHelper.java:115)の予期しない要素(uri: ""、local: "script")を取得します。期待される要素は<{}アンケート> –

関連する問題