wangym 2009-06-21 10:43
浏览 186
已采纳

我的模板代码存在数据库中能否动态解析?

一个已经加上struts2和jsp代码的模板,放在数据库中,不知用什么方案动态解析出来?struts.xml怎么配置?

比如数据库中存的是:

[code="java"]



[/code]

然后ViewAction先读出上面这段,再生成:
[code="java"]
this.content = "hello,world!"
[/code]

那么在显示时,即访问ViewAction时,怎样最终输出的结果是:
[code="java"]

hello,world!

[/code]

我刚才试验了一个方法:

先将存在数据库里面的模板代码生成一个JSP文件,生成在tomcat能访问到的web工程下,然后再交给struts2去解析。

比如
先读取数据库中的模板代码->生成${id}.jsp文件->由struts2解析
我把struts.xml这样配置/${id}.jsp

但是问题是这样动态生成一个文件,默认是读不到的,虽然文件生成的没有错,路径也对,我必须要手工刷新下tomcat,刷新后就能访问到了。请问刷新tomcat这步能由代码完成吗?或者有其它的方案吗?多谢

我的action是固定的,比如叫TestAction。
但我的view是动态生成的,比如传给TestAction的id是1,那么就读取数据库,取出id为1那条记录的html模板,然后将此模板动态生成为1.jsp(里面是有struts2的标签的),然后TestAction再去解析。

我问的是,tomcat在启动时比如没有上面说的1.jsp,然后在运行过程中由TestAction生成了1.jsp,生成的路径等都是没有问题,请问这时让TestAction去解析1.jsp,能实时解析出来吗?

struts.xml这样配的:

[code="java"]
....

/test/${id}.jsp

....
[/code]

我用Eclipse里面跑tomcat尝试,是失败的,文件生成的路径和struts去解析的路径都没问题,但除非在Eclipse里面按f5刷新,否则永远是HTTP 404。

我朋友跟我说,只要在真实的tomcat环境中,动态生成一个jsp文件首先是不要重启的,其次虽说或许不是实时解析,但肯定不需要手工去刷新,或去重新发布之类的。

  • 写回答

1条回答 默认 最新

  • wanghaolovezlq 2009-06-22 08:49
    关注

    你直接启动tomcat,不要依赖eclipse,这样动态生成的jsp是可以访问的,不会报404错误

    我们项目曾经也类似做过这种动态生成jsp页面的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 iOS 自定义输入法-第三方输入法
  • ¥15 很想要一个很好的答案或提示
  • ¥15 扫描项目中发现AndroidOS.Agent、Android/SmsThief.LI!tr
  • ¥15 怀疑手机被监控,请问怎么解决和防止
  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译