html页面显示struts2错误

2023-06-14前端开发问题
5

本文介绍了html页面显示struts2错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我使用 addActionMessageaddActionError 方法在 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错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

layui 实现实时刷新一个外部的div
主页面上显示了一个合计,在删除和增加的时候需要更改这个总套数的值: //html代码div class="layui-inline layui-show-xs-block" style="margin-left: 10px" id="sumDiv"spanSOP合计:/spanspan${totalNum}/spanspan套/span/div 于是在我们删除这个条数据后,...
2024-11-14 前端开发问题
156

layui 单选框、复选框、下拉菜单不显示问题如何解决?
1. 如果是ajax嵌套了 页面, 请确保 只有最外层的页面引入了layui.css 和 layui.js ,内层页面 切记不要再次引入 2. 具体代码如下 layui.use(['form', 'upload'], function(){ var form = layui.form; form.render(); // 加入这一句});...
2024-11-09 前端开发问题
313

layui要如何改变时间日历布局大小?
问题描述 我想改变layui时间日历布局大小,这个要怎么操作呢? 解决办法 可以用css样式对时间日历进行重新布局,具体代码如下: !DOCTYPE htmlhtmlheadmeta charset="UTF-8"title/titlelink rel="stylesheet" href="../../layui/css/layui.css" /style#test-...
2024-10-24 前端开发问题
271

jQuery怎么动态向页面添加代码?
append() 方法在被选元素的结尾(仍然在内部)插入指定内容。 语法: $(selector).append( content ) var creatPrintList = function(data){ var innerHtml = ""; for(var i =0;i data.length;i++){ innerHtml +="li class='contentLi'"; innerHtml +="a href...
2024-10-18 前端开发问题
125

“数组中的每个孩子都应该有一个唯一的 key prop"仅在第一次呈现页面时
quot;Each child in an array should have a unique key propquot; only on first time render of page(“数组中的每个孩子都应该有一个唯一的 key prop仅在第一次呈现页面时)...
2024-04-20 前端开发问题
5

如何制作 TextGeometry 多线?如何将它放在一个正方形内,以便它像 html 文本一样包裹在 div 内?
How do I make a TextGeometry multiline? How do I put it inside a square so it wraps like html text does inside a div?(如何制作 TextGeometry 多线?如何将它放在一个正方形内,以便它像 html 文本一样包裹在 div 内?) - IT屋-程序员软件开发技术分享社...
2024-04-20 前端开发问题
6