Как будто вы пытаетесь получить доступ к объекту, который является null
. Рассмотрим ниже пример:
TypeA objA;
. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException
, что имеет смысл.
См. Также этот пример:
String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
Существует Клиентская Шаблонная функциональность, прибывающая в ближайший ASP.NET AJAX 4.0.
http://encosia.com/2008/07/23/sneak-peak-aspnet-ajax-4-client-side-templating/
кроме того, можно использовать Microsoft AJAX Library (который является частью JavaScript Ajax ASP.NET), отдельно, не используя ASP.NET.
Я записал http://google-caja.googlecode.com/svn/changes/mikesamuel/string-interpolation-29-Jan-2008/trunk/src/js/com/google/caja/interp/index.html , который описывает систему шаблонной обработки, которая соединяет болтом строковую интерполяцию на JavaScript способом, который предотвращает нападения на XSS путем выбора корректной схемы выхода на основе предыдущего контекста.
Tenjin http://www.kuwata-lab.com/tenjin/ Мог бы быть тем, что Вы ищете. Не использовали его, но выглядит хорошим.
Я столкнулся с этим сегодня, я не попробовал его хотя...
ExtJS имеет исключительный класс шаблонной обработки под названием Расширение. XTemplate: http://extjs.com/deploy/dev/docs/?class=Ext.XTemplate
у John Resig есть мини-JavaScript, обрабатывающий механизм по шаблону в http://ejohn.org/blog/javascript-micro-templating/
Если вы используете скрипт # Вы можете рассмотреть Sharptemplate , сильно набранный сверхэффективный HTML-шаблон.
Вы можете попробовать Mustache - это действительно переносимый и простой язык шаблонов с поддержкой javascript среди других языков.
Closure templates - это довольно надежная система шаблонов от Google, которая работает как для Javascript, так и для Java. У меня был хороший опыт их использования.
Вот один из них, реализованный в jQuery для языка шаблонов Smarty. http://www.balupton.com/sandbox/jquery-smarty/demo/
Одна впечатляющая особенность - поддержка динамических обновлений. Поэтому, если вы обновите переменную шаблона, она обновится в любом месте шаблона, где эта переменная используется. Довольно изящно.
Вы также можете подключиться к изменениям переменных, используя событие onchange. Так что это полезно, скажем, для выполнения эффектов или AJAX, когда, скажем, переменная "page" изменяется; -)