ognl

How to choose a value of a HashMap in select Struts2?

回眸只為那壹抹淺笑 提交于 2021-02-19 03:54:26
问题 I ran into a problem with Struts2. I have a HashMap<String, Integer> that I use in a form with a select to choose name and corresponding id to that name. HashMap iterates and populates my <select> list with names. I only need an id to pick. How do I pick an id/value instead of a name/key? companyMap is a HashMap , where <String, Integer> or key, value. companyName is a String. <s:select label="Pick the company name" headerKey="-1" headerValue="Select Company name" list="companyMap.keys" name

阿里开源那个牛哄哄问题排查工具竟然不会用?最佳实践来了!

坚强是说给别人听的谎言 提交于 2021-02-16 11:10:57
△Hollis, 一个对Coding有着独特追求的人△ 这是Hollis的第 291 篇原创分享 作者 l 汪吉 来源 l Hollis(ID:hollischuang) 入门步骤 安装 https://arthas.gitee.io/install-detail.html 上述命令会下载启动脚本文件 as.sh 到当前目录,执行方式: curl -L https://alibaba.github.io/arthas/install.sh | sh as.sh 启动 : curl -sk https://arthas.gitee.io/arthas-boot.jar -o ~/.arthas-boot.jar && echo "alias as.sh='java -jar ~/.arthas-boot.jar --repo-mirror aliyun --use-http'" >> ~/.bashrc && source ~/.bashrc 在线教程体验 https://alibaba.github.io/arthas/arthas-tutorials?language=cn 当然也可以自己本地体验一下~自己通过下载一个 arthas-idea-plugin的体验demo 直接本地上手 https://github.com/WangJi92/arthas-plugin-demo

MyBatis动态SQL语句

断了今生、忘了曾经 提交于 2021-02-12 11:04:02
MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦。拼接的时候要确保不能忘了必要的空格,还要注意省掉列名列表最后的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。 通常使用动态 SQL 不可能是独立的一部分,MyBatis 当然使用一种强大的动态 SQL 语言来改进这种情形,这种语言可以被用在任意的 SQL 映射语句中。 动态 SQL 元素和使用 JSTL 或其他类似基于 XML 的文本处理器相似。在 MyBatis 之前的版本中,有很多的元素需要来了解。MyBatis 3 大大提升了它们,现在用不到原先一半的元素就可以了。MyBatis 采用功能强大的基于 OGNL 的表达式来消除其他元素。 mybatis 的动态sql语句是基于OGNL表达式的。可以方便的在 sql 语句中实现某些逻辑. 总体说来mybatis 动态SQL 语句主要有以下几类: 1. if 语句 (简单的条件判断) 2. choose (when,otherwize) ,相当于java 语言中的 switch ,与 jstl 中的choose 很类似. 3. trim (对包含的内容加上 prefix,或者 suffix 等,前缀,后缀) 4. where (主要是用来简化sql语句中where条件判断的

NoSuchMethodError when using submitting form in Struts 2

早过忘川 提交于 2021-02-11 12:50:34
问题 I'm currently working through the tutorial found on the Apache Struts2 website. Currently, whenever I press submit on the form, or when I click the Bruce Philips hyperlink, I get a NoSuchMethodError . javax.servlet.ServletException: Filter execution threw an exception root cause java.lang.NoSuchMethodError: ognl.SimpleNode.isEvalChain(Lognl/OgnlContext;)Z com.opensymphony.xwork2.ognl.OgnlUtil.isEvalExpression(OgnlUtil.java:224) com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:215)

How can we append 2 strings in Struts

醉酒当歌 提交于 2021-02-07 21:52:17
问题 I need to append 2 String class variables using Struts 2 I tried like this <s:set var="Name" value="#variable1+#variable2"/> but no result. 回答1: Use OGNL to force evaluation of concatenation operation <s:set var="Name" value="%{#variable1 + #variable2}"/> 回答2: it is also working. <s:set var="Name" value="#variable1+''+#variable2"/> 来源: https://stackoverflow.com/questions/23789198/how-can-we-append-2-strings-in-struts

How can we append 2 strings in Struts

心已入冬 提交于 2021-02-07 21:50:52
问题 I need to append 2 String class variables using Struts 2 I tried like this <s:set var="Name" value="#variable1+#variable2"/> but no result. 回答1: Use OGNL to force evaluation of concatenation operation <s:set var="Name" value="%{#variable1 + #variable2}"/> 回答2: it is also working. <s:set var="Name" value="#variable1+''+#variable2"/> 来源: https://stackoverflow.com/questions/23789198/how-can-we-append-2-strings-in-struts

Struts2 Access specific index of list when index is a variable

强颜欢笑 提交于 2021-02-07 20:28:08
问题 I'm having some trouble accessing a specific element of a list when the index is a variable. When the index is just a number, I have no issues at all displaying what I'm looking for. <s:property value="#session.userList[1].email" /> That works perfectly, and displays the email found in that element of UserList However, when I change the index to be a variable, I'm having difficulties finding the proper way to write the ognl statement. I've tried every combination of %# I can think of with no

What are different ways to access variables with OGNL in Struts 2

女生的网名这么多〃 提交于 2021-01-29 07:02:49
问题 I am working now in a Struts2 project which uses OGNL. I see three different ways to access data in JSP using OGNL. value1 ="previousList" value2 = "#previousList" value3 = "%{previousList}" What these will do and are there other ways to access data from OGNL? 回答1: The value stack which is an implementation of ValueStack has two methods push and set . The first method pushes the variable to the stack, but the second sets in to the value stack's context. If the variable in the value stack's

Apache struts2 namespace远程命令执行_CVE-2018-11776(S2-057)漏洞复现

风流意气都作罢 提交于 2021-01-13 06:47:07
Apache struts2 namespace远程命令执行_CVE-2018-11776(S2-057)漏洞复现 一、漏洞描述 S2-057漏洞产生于网站配置xml的时候,有一个namespace的值,该值并没有做详细的安全过滤导致可以写入到xml上,尤其url标签值也没有做通配符的过滤,导致可以执行远程代码,以及系统命令到服务器系统中去 。 二、漏洞影响版本 Apache struts 2.3-Apache struts 2.3.34 Apache struts 2.5-Apache struts 2.5.16 三、漏洞环境搭建以及复现 Win7+tomcat7.0+struts-2.5.16 1、下载struts 2.5.16官方示例showcase 2、把下载的struts2-showcase放到tomcat的webapps目录下    3、修改struts-actionchaining.xml,发现有两处需要修改    4、修改struts-actionchaining.xml,将namespace删除, 将 result 类型改为 redirectAction 修改为如下:   <struts> <package name= " actionchaining " extends= " struts-default " > <action name= "

MyBatis 的 4 个妙用,别再踩坑了!

丶灬走出姿态 提交于 2021-01-07 22:53:28
Mybatis 是 Java 中一个非常好用的数据库框架,这儿记录一下在使用过程中遇到的坑。 官方中文文档地址: http://www.mybatis.org/mybatis-3/zh/getting-started.html 1、在Mybatis mapping.xml映射配置文件中使用大于>号小于号< 由于Mybatis的映射文件遵循xml文件的格式,所以不能使用像大于号或者小于号这样的xml文件特殊字符,需要使用转义字符代替。 整理了一份272页MybatisPDF文档 可以使用: SELECT * FROM test WHERE 1 = 1 AND start_date <= CURRENT_DATE AND end_date >= CURRENT_DATE <![CDATA[ when min(starttime)<='12:00' and max(endtime)<='12:00' ]]> 2、Mybatis中使用OGNL表达式test比较字符串 在Mybatis映射配置文件中,使用OGNL表达式test的时候,比较字符串时,需要调用 toString()方法保证 == 两边的值都是 String 类型。 <!-- 以下为错误写法,会抛NumberFormatException异常 --> <if test="username == 'U'"> <!--