JSP - 如何从数据库中呈现html(或jsp)代码

时间:2012-03-26 20:45:15

标签: html jsp

我有一个由多个用户组使用的jsp。要求是每个用户组在访问页面时都需要自定义的外观(具有区别参数)。我们建议允许用户在数据库表中转储他们需要的html,jsp将确定用户组,并显示相应的html。有关如何做到这一点的任何指示?

示例:如果用户组1访问url abc.com/xyz?param=aaa,则jsp应显示存储在与UserGroup1对应的数据库中的html。同样,abc.com/xyz?param=bbb应该呈现为UserGroup2存储的html。

第1组的HTML:

<html>hello, user 1 </html>

第2组的HTML:

<html>hello, user 2 </html>

我的JSP如何从Servlets或任何其他类中获取此HTML代码?

欢迎任何JSF 2.0建议。

上面的示例代码可能听起来很简单,但实际上整个布局,图像,边框,表格,内容会有所不同

3 个答案:

答案 0 :(得分:1)

通过使用会话来区分用户并通过其API管理

答案 1 :(得分:1)

IMO,我不会在数据库中存储html。它不属于它。

你能做什么(在JSF 2.0中)是创建一个'模板'页面,其中包含你在每个页面上重复使用的基本内容... header,body,footer,css,js等。

在此“模板”页面上,您可以使用<ui:insert name="body">标记来定义每个页面将定义的位置。

在您的网页上,您使用<ui:composition template="whateverPage.xhtml"/>来定义模板。然后,您可以使用<ui:define name="body">

根据任何参数插入所需的代码

JSF 2 Templating with Facelets

答案 2 :(得分:1)

而不是保存整个html,而不是像phanneman所说的那样 保存css或css片段。例如,在每个用户的数据库中保存数据库,每个用户的图像路径,颜色等 这可能有助于重新获取每个用户组的特定数据。