Diplay struts2 error in html page(html页面显示struts2错误)
问题描述
我使用 addActionMessage
和 addActionError
方法在 struts2 动作类中添加了我的错误和消息.现在我想要在 html 页面中显示此消息和此错误的代码?可以打印吗?
I added my error and message in struts2 action class using addActionMessage
and addActionError
method.
Now I want code for displaying this message and this error in the html page? Is it possible to print?
推荐答案
Put
<s:actionerrors />
和
<s:actionmessages />
JSP 中的标签
并且,为了获得更好的图形结果,请使用特定的 div 容器(例如,一个红色,一个绿色)并在之前检查您是否有消息或错误(仅在不为空时打印 div):
AND, for a better graphical result, use a particular div container (one red, one green for example) and check before if you have messages or errors (to print the div only if not empty):
<s:if test="hasActionErrors()">
<div class="feedError">
<s:actionerrors />
</div>
</s:if>
<s:if test="hasActionMessages()">
<div class="feedOk">
<s:actionmessages />
</div>
</s:if>
在 CSS 中
.feedError{
width: 100%;
border: 10px solid red;
}
.feedOk{
width: 100%;
border: 10px solid green;
}
<小时>
不,据我所知,您无法直接从 HTML 获取操作错误和消息.您可以对从 Session 中检索它们并在 JSon 中返回它们的操作进行 ajax 调用,但这确实是矫枉过正、设计不佳且没有必要.
no, as far as I know you can't get Action Errors and Messages directly from HTML. You can make ajax calls to an action that retrieves them from Session and returns them in JSon, but this is really overkill, bad designed and not necessary.
作为一种解决方案,您可以使用另一种视图技术来代替 JSP;它不仅仅是普通的 HTML,但至少你不能在页面内使用 Scriptlet,如果这是你使用 JSP 的问题的话.
As a solution, you can use another view technology instead of JSP; it isn't just plain HTML, but at least you can't use Scriptlets inside pages, if that's is your problem with using JSP.
例如,您可以使用 FreeMarker 模板.
之前的 JSP 片段在 .ftl 文件中会变成这样(未经测试):
The previous JSP snippet would become something like this (untested), in the .ftl file:
<#if (actionErrors?size>0)>
<div class="feedError">
<@s.actionerror />
</div>
</#if>
<#if (actionMessages?size>0)>
<div class="feedOk">
<@s.actionmessage />
</div>
</#if>
或 Velocity(同样,未经测试):
Or Velocity (again, untested):
#if( $actionErrors.size() > 0 )
<div class="feedError">
#foreach( $msg in $actionErrors )
[$msg]<br />
#end
</div>
#end
#if( $actionMessages.size() > 0 )
<div class="feedOk">
#foreach( $msg in $actionMessages )
[$msg]<br />
#end
</div>
#end
<小时>
注意:如果不使用 JSP 的原因是为了防止 scriptlet,您可以在 web.xml 添加配置此行为
NOTE: if the reason for not using JSPs is to prevent scriptlets, you can configure this behaviour in web.xml adding
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<scripting-invalid>true</scripting-invalid>
</jsp-property-group>
</jsp-config>
在 Struts2 中使用 JSP 并不是唯一的方法,但它是最简单和最快的,恕我直言.
Using JSP with Struts2 is not the only way, but it is the easiest and the fastest, imho.
这篇关于html页面显示struts2错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:html页面显示struts2错误


基础教程推荐
- 什么是不使用 jQuery 的经验技术原因? 2022-01-01
- 如何使用sencha Touch2在单页中显示列表和其他标签 2022-01-01
- jQuery File Upload - 如何识别所有文件何时上传 2022-01-01
- 如何使用 CSS 显示和隐藏 div? 2022-01-01
- 如何在特定日期之前获取消息? 2022-01-01
- 每次设置弹出窗口的焦点 2022-01-01
- Node.js 有没有好的索引/搜索引擎? 2022-01-01
- WatchKit 支持 html 吗?有没有像 UIWebview 这样的控制器? 2022-01-01
- 为什么我在 Vue.js 中得到 ERR_CONNECTION_TIMED_OUT? 2022-01-01
- Javascript 在多个元素上单击事件侦听器并获取目标 2022-01-01