如何在 jsp 元素中使用页面指令值?
How to use page directive value in jsp element?
我想在 jsp 元素中使用页面指令值(例如值 '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>
使用 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}" />
我想在 jsp 元素中使用页面指令值(例如值 '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>
使用 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}" />