Java 自定义标记从servlet获取空值并捕获异常

Java 自定义标记从servlet获取空值并捕获异常,java,jsp,jstl,Java,Jsp,Jstl,我编写了自定义标记,使字符串易于本地化 在jsp中,它如下所示: <ct:word key="${message}"/> 我不想用 <c:if test="${not empty message}"/> or <c:when/> 但我有一个例外: java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key

我编写了自定义标记,使字符串易于本地化

在jsp中,它如下所示:

 <ct:word key="${message}"/>
我不想用

<c:if test="${not empty message}"/> or <c:when/>
但我有一个例外:

java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key 
在我的方法中,我抓住了

    catch (MissingResourceException e) {
        throw new MyException(Constants.ERROR_TRANSLATE_TAG,e);
    }
只有当我没有从servlet传递此消息时,我的应用程序才会发出此异常。即使没有此消息,我也希望显示页面,而不显示错误页面。

对于记录:


resourceBundle.getString(键)将抛出一个
MissingResourceException
,从而在
doStartTag()
方法中捕获该异常。

是否尝试捕获
MissingResourceException
?是的,为了避免拉取所有异常,我在try/catch块中抛出MyException。虽然我不知道如何处理此异常,但我只是在日志中写入此错误行当抛出
MissinResourceException
时,一切都应该正常。或者,当servlet应该设置密钥时,是否会出现异常?在这种情况下,您能给我们看一下您的标记描述吗?哦,这是一个愚蠢的错误,我需要再次捕获
resourceBundle.getString(key)的MissingResourceException。谢谢@Thomas的帮助。此主题可以关闭。我将为可能发现该问题的其他人添加答案。
    } catch (MyException e1) {
        logger.error(e1);
        return SKIP_BODY;
    }
java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key 
    catch (MissingResourceException e) {
        throw new MyException(Constants.ERROR_TRANSLATE_TAG,e);
    }