我想在jsp元素中使用page指令值(例如,值' i'用于名称=' hidden'的文本框中),这将用于计算总数不成功的尝试。
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ page session="true" %>
<html>
<head>
<title>Login Application </title>
</head>
<body>
<h2>Login Application</h2>
<s:actionerror />
<%
Integer i = (Integer)application.getAttribute("i");
if (i == null) {
i = new Integer(1);
} else {
i = new Integer(i.intValue() + 1);
}
application.setAttribute("i", i);
session.setAttribute("attemp", i);
out.println("Attemp :::::"+ session.getAttribute("attemp"));
%>
<s:form action="login.action" method="post">
<s:textfield name="username" key="label.username" size="20" />
<s:password name="password" key="label.password" size="20" />
<s:submit method="doGet" key="label.login" align="center" />
<s:textfield id="hidden" name="hidden" value="<%=i %>" />
</s:form>
</body>
</html>
答案 0 :(得分:0)
使用Scriplet
已过时了
您可以避免scriptlet以struts方式访问Application和Session,在访问 #
,Application
时不要忘记使用 Session
或 Request
范围变量
在这里,我尝试避免使用Scriplet
代码,另请在访问Application
变量时确认...
如需帮助,请参阅https://struts.apache.org/docs/accessing-application-session-request-objects.html
<s:if test="%{#application.i == null}">
<s:set name="i" value="1" scope="application" />
</s:if>
<s:else>
<s:set name="i" value="%{#application.i + 1}" scope="application" />
</s:else>
<s:set name="attemp" value="%{#application.i}" scope="session" />
并将hidden
textfield
设为:
<s:textfield id="hidden" name="hidden" value="%{#application.i}" />