为问卷类型的应用程序创建报告文件



我们有一个用户在多个页面上回答多个问题的应用程序。以一个保险应用程序为例。用户会被询问个人信息、健康状况等。这些问题会根据之前输入的详细信息动态变化。我们需要创建一个单一的html文件,在所有的信息,用户输入结束。现在,创建这个html文件的最佳策略是什么?我可以创建一个带有自定义标记的jsp文件,该文件可以显示从db中提取的数据。但是我们有两个条件问题,这就变成了维护的噩梦。另外,如果我使用eclipse BIRT或jasper报表,它会变得更容易吗?

这个要求的一个好处是,最终页面的界面应该看起来和问题页面的界面完全一样。因此,我们可以使用的一种策略是捕获每个页面上输入问题和用户信息的html,将其保存到db并在最终页面上检索。我想知道是否有人使用这种策略。

我欢迎关于如何做这件事的任何其他建议。谢谢!

注。-我知道这真的不是一个编程问题,但我只是希望听到一些建议。

XML加XSLT是动态生成HTML的理想选择。您可以将问题和答案直接存储为XML,或者从数据库生成XML(我没有这样做,但是快速Google显示了许多不同配置的选项)。

如果你有一个结构类似

的XML
<questionList>
<question>
<identifier>1</identifier>
<questionText>What is your first name?</questionText>
<hasAnswer>true</hasAnswer>
<answer>Mary</answer>
</question>   
<question>
...
</question>
</questionList>

那么你可以使用

<xsl:for-each select="questionList/question">
<xsl:if test="hasAnswer=='true'">
<span> <xsl:value-of select="questionText"/></span>
<span> <xsl:value-of select="answer"/></span>
</xsl:if>
</xsl:for-each>

这将循环遍历您的所有问题,只有当它们有答案时才显示它们。您也可以跳过使用"hasAnswer"标签,只测试"answer"是否为空(通过测试"answer"是否不是' ',即空字符串),但我更喜欢上面的选项。你可以使用span来添加与问题页面相同的CSS,或者将所有内容放在表格中并使用td来代替-这是非常灵活的。

在w3schools的XSLT教程中,您可以阅读如何将XSLT样式表附加到XML文件,这就像在HTML中添加CSS一样简单。

当然,我已经使用了XSLT,如果您喜欢使用锤子,那么每个问题看起来都像钉子。但我真的认为这是一个简单而轻松的解决方案。

最新更新