FreeMarker template error

本文探讨了Struts2框架中使用namespace属性时遇到的问题,包括如何在不同情况下正确设置namespace,以及错误配置可能导致的异常表现。



 今天直接链接到jsp就报这个错,但经过action再到jsp就没了。

网上看看基本有两种原因:

一:

这种问题的引起往往是你在action中使用了addActionError这样的方法在汇报actionerror,而你在调用addActionError方法时传入了null值,这时候机会导致这样的问题发生,所以如果发生这样的情况请检查你的代码,看看是否因为某种问题导致给addActionError方法传入了null值,找到了解决这个问题就可以了。

二:

struts2中的标签漏了必要的属性。例如:

用struts2中的checkBoxList标签时没有给标签加name属性,加上name属性后,问题消失。

 

我的原因:

三:

<s:form>标签中的namespace属性!

 

先说一个action配置文件里的namespace,看下例

<package name="user" namespace="/user" extends="struts-default">
         <action name="logon" class="cn.net.cipe.ots.user.actions.UserAction" method="logon">
            <result name="success">/JSP/main.jsp</result>
            <result name="input">/JSP/login.jsp</result>
            <result name="error">/JSP/login.jsp</result>
        </action>

</package>

那么如果在jsp里这样三种写法:

第一种

<form action="logon.action" >

.....

</form>

第二种

<form action="/user/logon.action" >

.....

</form>

第三种

<s:form action="logon.action" namespace="/user" >

.....

</s:form>

第一种写法可以通过测试,原因是FilterDispatcher会去package的根目录及下面的子目录去搜logon这个action

第二种写法是正规写法,可以通过测试,因为FilterDispatcher把form的跳转分解为logon.action和nanespace=/user,然后在package下直接命中namespace为"/user"的那个包。

第三种写法,很不幸,不能通过测试,原因是s:form这个标签居然不会在生成html页面时候把namespace的值给加到form 的action属性里面去。。。。。

那么与第三种情况正相反,如果你用s:url的话,一定要写namespace,见下例:

<s:url href="/user/logon.action"/>这种写法极容易出错,原因是不写namespace的话,产生html代码时候很混乱

<s:url href="logon.action" namespace="/user"/>正确写法!

不知道<s:form>标签不支持namespcce的写法是否是一个bug,stusts2的版本是2.1.8.1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 大小: 71 KB
内容概要 本资源是一套完整可运行的 Qt Widgets 批量图片压缩桌面工具源码,基于 Qt5/C++ 从零开发,专为初学者设计,分步实现图片批量处理全套功能。工具支持多选单张图片、直接读取整个文件夹内所有 JPG/PNG 图像,可自定义输出图片分辨率、调节 JPG0~100 区间压缩质量,自带锁定宽高比防拉伸变形功能;批量处理完成后自动统计每张图片压缩前后文件体积,计算整体压缩缩小比例,直观展示压缩效果。 适用人群 Qt/C++ 零基础初学者,学习 QImage 图像绘图、文件目录遍历、UI 交互开发; 需要本地批量处理图片的办公、设计、自媒体从业者; 想要学习图片缩放、JPG 压缩、本地文件 IO、进度条交互的开发学习者。 使用场景 自媒体批量压缩配图,降低图片体积节省上传流量; 摄影、设计批量统一图片尺寸,批量轻量化相册图片; 程序开发学习:QFileDialog 文件选择、QDir 文件夹遍历、QImage 缩放保存、QSlider 参数联动、批量循环界面防卡顿、文件大小格式化转换全套 Qt 图像开发实战案例。 工具核心功能清单 双模式导入图片:手动多选单张图片 / 一键读取整个文件夹全部图片; 自定义输出宽高分辨率,支持锁定原始宽高比,避免图片拉伸变形; 滑块调节 JPG 压缩质量 0~100,平衡图片清晰度与文件占用大小; 自定义输出保存目录,批量生成压缩后的图片文件; 实时进度条展示处理进度,循环中刷新界面,程序不会假死卡顿; 自动统计每张图片压缩前后体积,换算 KB/MB 直观展示; 批量完成弹窗汇总:图片总数、成功数量、单张大小对比、整体压缩节省空间比例; 完整模块化代码,功能拆分清晰,每段代码附带详细注释,新手可分步拆解学习。 其他说明 开发环境:Qt Creator + Qt5.15 MSVC,Windows 平台可直接编译运行; 源码结构清晰,功能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值