如何避免 struts2 中文本字段的默认值 (com.opensymphony.xwork2.DefaultTextProvider@28e67c)

How to avoid Default value (com.opensymphony.xwork2.DefaultTextProvider@28e67c) for textfield in struts2

我正在开发 struts2 应用程序。在 JSP 页面之一中,我有一个文本字段标记,其值是从 OGNL 表达式中检索的。当 OGNL 表达式值为空时,它在文本字段中显示 com.opensymphony.xwork2.DefaultTextProvider@28e67c。我不想要这个默认值,如果该值不可用我只想显示空文本框。下面是我的代码。请帮忙。

在下面的示例中,当示例文本为空时,我得到了文本字段的一些默认值 com.opensymphony.xwork2.DefaultTextProvider@28e67c 但如果它是空的,我想将其显示为空白。

JSP:

<%@ page language="java" errorPage="Error.jsp" %>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %>
 <%
  String sampletext = ""; 
 %>
 <html>
  <head>
  </head>
   <body>
     <s:set var="remarks"><%=sampletext%></s:set>
     <s:textfield value="%{remarks}" type="text"></s:textfield>
   </body>
 </html>

你不应该像@AleksandrM 提到的那样在代码中使用 scriptlet,但你可以通过以下方式使用 JSTL

 <c:set var="remarks"><%=sampletext%></c:set>
 <s:textfield value="%{#attr.remarks}"/>