위의 내용이 유효한 선택 인 것처럼 보입니다.
public class AppSpecificInvalidReferenceEventHandler implements
InvalidReferenceEventHandler
{
private static final Logger LOGGER =
Logger.getLogger(AppSpecificInvalidReferenceEventHandler.class);
@Override
public Object invalidGetMethod(Context context, String reference,
Object object, String property, Info info)
{
reportInvalidReference(reference, info);
return "";
}
@Override
public boolean invalidSetMethod(Context context, String leftreference,
String rightreference, Info info)
{
reportInvalidReference(leftreference, info);
return false;
}
@Override
public Object invalidMethod(Context context, String reference, Object object,
String method, Info info)
{
if (reference == null) {
reportInvalidReference(object.getClass().getName() + "." + method, info);
} else {
reportInvalidReference(reference, info);
}
return "";
}
private void reportInvalidReference(String reference, Info info)
{
LOGGER.info("REFRERENCE: " + reference + " Info <" + info + ">");
}
}
당신은 또한 당신의 velocity.properties 파일에 다음을 추가해야합니다 : 그러나 여기에 또 다른 옵션입니다
eventhandler.invalidreferences.class=path.to.package.AppSpecificInvalidReferenceEventHandler,org.apache.velocity.app.event.implement.ReportInvalidReferences
은 가능성이 필요합니다, 그래서 당신은, 비록 결과에 놀랄 수도 귀하의 필요에 따라 미세 조정하십시오.
대부분의 경우 getter 자체가 유효하지만 getter가 반환하는 값은 null 일 수 있습니다.이 메서드는 유효하고 유효하지 않은 stethos는 결코 호출되지 않습니다. –
기본적으로 동일한 코드가 통과됩니다 참조가 null 인 경우 (getter가 존재하지 않으면 execute를 호출하면 null이 반환됩니다. 엄격한 참조를 설정하지 않은 경우). – Scott
엄격한 심판을 켜는 방법? 조용한 참조를 사용하지 않는다는 것을 의미합니까? 그러나 아직도 당신의 시간과 친절에 대해 많은 동료에게 감사드립니다. –