gpt4 book ai didi

java - 如何从我的 java bean 中抛出异常

转载 作者:行者123 更新时间:2023-11-30 06:38:43 24 4
gpt4 key购买 nike

我在我的 jsp 应用程序中使用 javaBean 来存储表单值。这就是我将我的值(value)观融入我的 bean 的方式。此代码是我的 form.jsp 的一部分

try {  
<jsp:setProperty name="formparam" property="*" />
}
catch (Exception e){ error = true; }

我留下了“<%”,以免破坏 stackoverflow 上的代码显示。现在,如果有人在我的年龄字段中输入文本,那么类型对话会引发异常,我就会得到异常。

现在我想知道是否可以在我的 bean 的 setter 中抛出异常并使用完全相同的 try-catch-block 捕获它。

我的 bean 示例:(我知道这甚至无法编译,但我希望您了解我想要什么)

public void setAge(int a) {  
if (this.validAge(a))
age = a;
else
throw Exception;
}

希望大家明白我的意思。当然,可以从 form.jsp 调用我的 bean 中的 validAge() 函数来验证该值,但如果我可以直接抛出异常以便 form.jsp 可以捕获它,那就更灵活了。

这么久。 曼图科

最佳答案

让方法抛出它并使用 JSTL c:catch来处理它。

<c:catch var="error">
<jsp:setProperty name="formparam" property="*" />
</c:catch>

<c:if test="${not empty error}">
<p>Error: ${error}</p>
</c:if>

也就是说,JSP 是进行验证的错误位置。而是将表单提交给 Servlet,让 servlet 委托(delegate)一个执行验证的业务/操作模型,在您请求范围内的某种 Map 中收集所有错误消息在 EL 中访问。 绝不在 JSP 中使用 scriptlet。 JSTL提供漂亮everything您需要核心、fmt 和函数标签库。

关于java - 如何从我的 java bean 中抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1970916/

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