Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >struts2 s的问题:如果测试

struts2 s的问题:如果测试
EN

Stack Overflow用户
提问于 2010-10-15 12:46:44
回答 2查看 1.2K关注 0票数 1

test.jsp:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
%%%%%%%%%%%%%

< s:property value="#parameters.type"/> 

 < s:if test="#parameters.type == 1">

   < select>

 < option value="-1">
  请选择
 < /option>
 < option value="1" selected>
         收件箱
 < /option>
 < option value="2">
  发件箱
 < /option>
    < /select>
< /s:if>

%%%%%%%%%%%%%%

当test.jsp?type=1访问此页面时,s:if测试为false,因此不会显示选择列表。有人能告诉我为什么吗?谢谢!

EN

回答 2

Stack Overflow用户

发布于 2010-10-15 14:52:00

我希望您能理解您的代码并不是良好的struts2实践。这不是Struts2的正常使用方式。您的http参数通常应该映射到您的操作字段,并且(在您的操作完成其工作之后)您的jsp应该显示从同一操作中提取它们的结果。正常情况下。通常,您不需要访问jsp中的http参数,也不需要访问任何逻辑(非常琐碎的逻辑除外)。

无论如何,测试中的问题可能是#parameters.type是一个原始字符串,而您正在将它与一个数字进行比较。(这是违反正常Struts2流的许多问题之一-从普通字符串到更有意义的类型的转换通常是由参数截取程序在映射中完成的。问题不会出现,因为您的操作中有一个正确的整数“类型”字段,并且在您的jsp中请求它)您尝试过#parameters.type == '1'吗?

票数 2
EN

Stack Overflow用户

发布于 2010-10-16 02:44:54

我已经解决了问题。只需用"#parameters.type“替换"#parameters.type”即可。那么测试就可以工作了!

这是因为struts2将URL形式的参数视为一个数组。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3942328

复制
相关文章

相似问题

Struts2 s:标签问题

10

S:选择struts2标签问题

20

Struts2 <s:select>标记的问题

10

Struts2 s:非空值的if测试

12

struts2 s:如果不是比较小数值

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文