问题标签 [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.

0 投票
1 回答
2647 浏览

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>

0 投票
1 回答
8932 浏览

java - Struts 2 单选按钮列表

我正在处理 Struts 2 单选按钮。我想从我的操作类中检索列表,但它给出了以下错误

org.apache.jasper.JasperException:标签'radio',字段'list',名称'user.yourGender':请求的列表键'#user.gender'无法解析为集合/数组/映射/枚举/迭代器类型。示例:人或人。{name} - [未知位置]

我的动作类和用户类如下

HelloAction

用户类

helloForm.jsp

你好.jsp

0 投票
5 回答
5842 浏览

java - 如何在struts2中动态获取会话对象

我正在尝试在 struts2 应用程序中获取动态会话对象。

resToken 可以通过<s:property value="%{resToken}">..

但我不会写<s:property> within <s:if test="">

它给了我双引号的错误..

0 投票
2 回答
10470 浏览

jsp - 检查 Struts2 标签中的请求参数值

我的jsp中有以下代码:

现在,如果我像这样访问此操作: test.action?test=1

我得到以下信息:

想知道,为什么 1 不等于 1?

0 投票
2 回答
8482 浏览

java - 在 OGNL 上使用 Spring EL 的好处?

我想知道究竟是什么促使 Spring 在其 Web 流产品中使用 Spring EL 而不是 OGNL:

http://static.springsource.org/spring-webflow/docs/2.2.x/reference/htmlsingle/spring-webflow-reference.html#el-language-choices

使用OGNL,我可以直接通过流程动态创建简单的类和执行方法等。我知道在实际的网页模板(即 JSP)中这样做不是一个好习惯,因为它们是基于表示的,但是 Web 流控制您的程序的逻辑,我发现在那里有效使用 OGNL 的能力非常方便。此外,您可以测试流程以确保其轻松运行。

所以,两个问题:

  1. 在 OGNL 上使用 Spring EL 有什么主要好处,尤其是在 Spring Webflow 的上下文中?

  2. 您可以使用 Spring EL 创建对象吗?

0 投票
2 回答
14590 浏览

struts2 - 比较 JSP 中的两个 valuestack 字符串值 - struts2

在此先感谢您的时间。

如果它有一个保存的值,我需要预先选择一个单选按钮。我基本上需要比较 valuestack 中的 2 个字符串来确定这一点。

(我目前无法使用<s:radio,因为我需要根据表单中的其他输入元素附加一些业务规则)。

我试着像下面那样做<s:set里面保存的 id 的值,s:iterate然后像下面那样比较它们,但显然我没有做对。

基本上我需要比较两个字符串,我的代码如下。我知道我不能像下面这样与 equals() 进行比较 - 有什么想法吗?

非常感谢!

问候, VeeCan

0 投票
1 回答
3175 浏览

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.htmlhttp://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可以清楚地看到其中的值。如果我出错了,请告诉我。

0 投票
1 回答
3273 浏览

java - 在 Struts 2 OGNL 中使用动态键访问 Map 属性

我有一个字符串列表,它们是属性名称和一个映射。我正在尝试使用字符串列表中的属性名称访问地图中的模型(ex.project)。

这就是我现在所拥有的。

如果我对属性名称进行硬编码,它可以正常工作:

任何建议表示赞赏。

0 投票
0 回答
1374 浏览

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 中使用约定和映射,但两者的结果相同。

0 投票
2 回答
2036 浏览

jsp - Struts2 OGNL - 请求参数提交顺序

我正在使用jsp和struts2,并且我有以下场景:

当这个表单被提交时,OGNL 表达式employee.name(相当于getEmployee().setName())在“save”方法之前被执行。而且,“empId”的值在 getEmployee() 方法中不可用。“empId”的值仅在“save”方法中可用。是否可以在 getEmployee() 中获取“empId”的值?

以下是我的 Action 类中的代码: