【问题标题】:Create Xml data into Jsp在Jsp中创建Xml数据
【发布时间】:2011-12-07 14:40:52
【问题描述】:

我正在尝试使用资源文件将 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>

无论我有什么问题,有什么方法可以使用 java 从 myData.properties 动态恢复“描述”和“值”?

【问题讨论】:

    标签: java xml jsp properties load


    【解决方案1】:

    加载属性文件后,遍历键。

    对于每个键,您将拥有一个问题编号和该问题的属性。对于每个问题的响应属性,您将拥有一个响应编号和响应值。

    创建Question 对象的映射或集合。每个Question 对象都有一个description 属性和一个响应字符串集合。

    每个Questiondescription 属性是在您迭代该问题的description 属性时设置的。对于每个响应值属性,将属性值添加到响应集合中。

    要将其恢复为 XML,您可以将问题列表公开给 JSP 并迭代每个问题(并在该循环内,迭代问题的响应)。或者,您可以通过任何普通 Java 库将对象直接编组为 XML。

    您实际上并不需要问题属性的数量,因为它们在属性名称本身中被枚举。

    【讨论】:

    • 感谢戴夫的回复。但问题是我不知道如何在加载后迭代属性文件
    • @naj_ib 哦。嗯。您是否考虑过查看API docs for it?有一个method in there 似乎可能会有所帮助。
    • 它已经完成,现在我的 jsp 已准备好由 Jaxb 转换器加载:尝试 { JAXBElement> jaxbElement = null;同步 (_unMarshaller) { jaxbElement = (JAXBElement>) _unMarshaller.unmarshal(inStream); (使用 inStream 是我的 jsp 作为 InputStream)但我得到了这个 Jaxbexception : (JaxbHelper.java:115) 意外元素 (uri:"", local:"script")。预期元素是
    • 我发现了问题,因为认证页面! jaxb调用jsp时,会先加载鉴权页面,才能访问问卷jsp。我做了这个测试,实际上我调用了“localhost/jsp/questionnaire.jsp”,身份验证页面被加载,我插入登录名/密码,然后加载了jsp,我得到了xml!这是解决这个问题的任何方法吗?非常感谢您的帮助戴夫
    猜你喜欢
    • 1970-01-01
    • 2014-02-18
    • 2018-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-10
    • 1970-01-01
    • 2012-09-01
    相关资源
    最近更新 更多