com.opensymphony.xwork2.DefaultTextProvider 显示在 Struts2 文本字段值中

com.opensymphony.xwork2.DefaultTextProvider Showed in Struts2 Text field value

我的 JSP 正在从 URL 获取参数并且工作正常。但是如果 URL 中没有参数,文本字段的值显示 com.opensymphony.xwork2.DefaultTextProvider.

就像 URL 是 login.jsp?user=USER1 时,它输出 USER1。但是如果它是 login.jsp 它显示 com.opensymphony.xwork2.DefaultTextProvider

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<%@ taglib prefix="html" uri="/struts-tags"%>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>

String user = request.getParameter("user");
        if(user == null) user = "";

<c:set var="user"><%=user%></html:set>
<c:textfield id="user" name="user" value='%{#user}'/>

您不需要使用 scriptlet 和 JSTL 标签来获取请求参数。

相反,您可以通过 OGNL 访问参数。为标签库使用命名前缀。

<%@ taglib prefix="s" uri="/struts-tags"%>

<s:textfield id="user" name="user" value="%{#parameters.user}"/>