gpt4 book ai didi

java - 如何将自定义变量保存到 Java 中的 Struts 应用程序的请求中?

转载 作者:行者123 更新时间:2023-12-02 08:03:03 26 4
gpt4 key购买 nike

我正在使用 Struts 1.2 和 J2EE 1.4。我对 Struts 和 Java 还很陌生,所以希望有一个简单的解决方案可以解决我的问题。我有一个页面设置如下:

<div class="success">
HTML for success
</div>
<div class="error">
<p>We are experiencing technical difficulties at this time. Please try your request again later.</p>
</div>
<div id="contact-form-block">
<html:form action="/reg" id="contactform">

<br /><html:text property="firstName"/><html:errors property="firstName"/>
<p><input type="image" src="images/reset_btn.png" id="reset" name="reset" alt="Reset" /><input type="image" src="images/submit_btn.png" id="submit" name="submit" alt="Submit" /></p>
</div>

</html:form>
</div>

原来成功、错误和联系我们的div都是隐藏的。我在模式对话框中单击时显示联系表单,如下所示:

$('.success, .error, .success_header, .error_header').hide();
$('form#contactForm').show();

因此,在我的操作中,我希望能够将所有内容发送回同一输入forward,无论是否存在验证错误。 但是我想在 jQuery 中检查 jsp 页面以检查应显示哪个对话框:

  1. 成功对话框或者
  2. 出现错误的联系我们对话框

这是我的行动:

if ("reg".equalsIgnoreCase(contactUsForm.getAction())) {            

ActionMessages errors = getErrors(request);

errors = validate(contactUsForm);

if (errors.isEmpty()) {

//Save some variable to the request/response to say that registration was successful

} else {
//save something to say that registration was not successful
saveErrors(request, errors);
}
}
return actionForward;

有没有办法在Action中设置一个变量,在调用ActionForward后可以在jsp页面中检索该变量。最好通过 jQuery 在 $(document).ready 函数中访问?

最佳答案

您将使用普通的 Struts 和/或 servlet 规范机制。

你可以检查一下是否有错误;它们存储在请求中的 "org.apache.struts.action.ERROR" 键下;您不需要特别添加任何内容,但如果您确实愿意,可以添加。

我更喜欢将非表单数据存储为请求属性:

request.setAttribute("haveErrors", true); // Or false, obviously.

然后,您需要从 JSP 中的请求中获取数据,并将其解释为 JavaScript:

$(function() {
// Use normal JSP EL; haveErrors should display as a bare string,
// which is valid JS. Can modify as necessary if need be.
var haveErrors = ${haveErrors};
});

关于java - 如何将自定义变量保存到 Java 中的 Struts 应用程序的请求中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8605628/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com