问题标签 [ognl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - ognl.ExpressionSyntaxException
我发现 ognl.ExpressionSyntaxException: Malformed OGNL expression: Add Customer [ognl.ParseException: Encountered ""Customer "" at line 1, column 5. 期待以下之一:<EOF>
"," ...
"=" ...
"?" ...
"||" ...
"or" ...
"&&" ...
"and" ...
"|" ...
"bor"
我正在使用jsp中的代码
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>titlePager</title>
</head>
<body>
<s:form action="addsome">
<s:textfield label="Customer ID:" name="customerID" size="15" maxlength="10" />
</s:form>
</body>
</html>
java - Struts 2 单选按钮列表
我正在处理 Struts 2 单选按钮。我想从我的操作类中检索列表,但它给出了以下错误
org.apache.jasper.JasperException:标签'radio',字段'list',名称'user.yourGender':请求的列表键'#user.gender'无法解析为集合/数组/映射/枚举/迭代器类型。示例:人或人。{name} - [未知位置]
我的动作类和用户类如下
HelloAction
用户类
helloForm.jsp
你好.jsp
java - 如何在struts2中动态获取会话对象
我正在尝试在 struts2 应用程序中获取动态会话对象。
resToken 可以通过<s:property value="%{resToken}">..
但我不会写<s:property> within <s:if test="">
它给了我双引号的错误..
jsp - 检查 Struts2 标签中的请求参数值
我的jsp中有以下代码:
现在,如果我像这样访问此操作: test.action?test=1
我得到以下信息:
想知道,为什么 1 不等于 1?
java - 在 OGNL 上使用 Spring EL 的好处?
我想知道究竟是什么促使 Spring 在其 Web 流产品中使用 Spring EL 而不是 OGNL:
使用OGNL,我可以直接通过流程动态创建简单的类和执行方法等。我知道在实际的网页模板(即 JSP)中这样做不是一个好习惯,因为它们是基于表示的,但是 Web 流控制您的程序的逻辑,我发现在那里有效使用 OGNL 的能力非常方便。此外,您可以测试流程以确保其轻松运行。
所以,两个问题:
在 OGNL 上使用 Spring EL 有什么主要好处,尤其是在 Spring Webflow 的上下文中?
您可以使用 Spring EL 创建对象吗?
struts2 - 比较 JSP 中的两个 valuestack 字符串值 - struts2
在此先感谢您的时间。
如果它有一个保存的值,我需要预先选择一个单选按钮。我基本上需要比较 valuestack 中的 2 个字符串来确定这一点。
(我目前无法使用<s:radio
,因为我需要根据表单中的其他输入元素附加一些业务规则)。
我试着像下面那样做<s:set
里面保存的 id 的值,s:iterate
然后像下面那样比较它们,但显然我没有做对。
基本上我需要比较两个字符串,我的代码如下。我知道我不能像下面这样与 equals() 进行比较 - 有什么想法吗?
非常感谢!
问候, VeeCan
struts2 - 跨应用程序的 ValueStack 生命周期是否在 struts2 中?
我可以通过ValueStack
多种方式设置属性。
我需要能够在 JSP、freemarker 和 java 中取回所有这些值
我想了解这 4 种设置方法中的每一种的生命周期。是否跨应用程序。是否为每个请求创建了ValueStack,并为每个请求在其中设置了应用程序和会话值?
我知道第 4 种方法是最常用的方法,但我可能不会在所有不容易访问操作类的地方都使用它。
我对在 JSP 中访问还有另一个疑问
我也想知道第 5 点在stack.getContex().put()
和中是如何工作的stack.set()
?我知道在第 6层,我正在访问的resultDTO是一个不同的根目录,而在第 7 层,它是默认根目录的子节点,即 ValueStack。在 8th 它开始从默认根搜索。
我浏览了http://struts.apache.org/2.0.11.1/docs/ognl.html,http://struts.apache.org/2.1.2/struts2-core/apidocs/com/opensymphony/xwork2/util /ValueStack.html并且相当混淆这个链接http://www.opensymphony.com/ognl/html/DeveloperGuide/introduction.html#embeddingOGNL
说了所有这些后,我不太倾向于使用stack.getContext().put()
方法,因为通过将 url 设置为?debug=browser可以清楚地看到其中的值。如果我出错了,请告诉我。
java - 在 Struts 2 OGNL 中使用动态键访问 Map 属性
我有一个字符串列表,它们是属性名称和一个映射。我正在尝试使用字符串列表中的属性名称访问地图中的模型(ex.project)。
这就是我现在所拥有的。
如果我对属性名称进行硬编码,它可以正常工作:
任何建议表示赞赏。
java - Struts2 debug=browser 不捕获动作类变量中的url参数?
我有一个非常简单的动作类,它有一个成员变量“数据”。当我提交正常的网址时,它会在 Tomcat 控制台中显示值,例如:Test action data=hello
如果我使用调试模式,例如
在 tomcat 控制台中使用mytestaction.action?data=hello&debug=browserTest action data=null
修改 url,它会显示. 但它在参数中显示浏览器ognl上下文树中的值。但是,data
当 Action 类展开时,同样为 null。
在debug=xml等其他调试模式下,它是
如果我也打印 OGNL ,则在debug=console模式下。#action.data =>shows hello
#parameters.data[0] => shows hello
这是一个真正的错误吗?还是我错过了什么?我尝试在 struts.xml 中使用约定和映射,但两者的结果相同。
jsp - Struts2 OGNL - 请求参数提交顺序
我正在使用jsp和struts2,并且我有以下场景:
当这个表单被提交时,OGNL 表达式employee.name(相当于getEmployee().setName())在“save”方法之前被执行。而且,“empId”的值在 getEmployee() 方法中不可用。“empId”的值仅在“save”方法中可用。是否可以在 getEmployee() 中获取“empId”的值?
以下是我的 Action 类中的代码: