Статические свойства при использовании определенных экземпляров bean-компонентов в JSP - PullRequest
1 голос
/ 17 июня 2011

Я унаследовал некоторый код JSP, над которым я работаю, основываясь на предупреждениях / ошибках, выдаваемых в Eclipse. Одно из распространенных предупреждений касается практики, которую они использовали для централизации конфигурации имен полей ввода, что, как я понимаю, является распространенным явлением. Они используют статически объявленные строки в бобах. Так, например, около вершины у нас есть конкретный экземпляр определяемого и используемого компонента:

<jsp:useBean id="myBean" scope="session" class="com.company.package.MyBean" />
<%
  String[] sequence       = myBean.getSequence();
  HashMap  statusLabelMap = myBean.getStatusLabels();
%>

, но затем статические свойства из класса bean-компонента также используются нестатическим способом:

<label for="<%=myBean.MOD_START%>">Start With:</label>
<select name="<%=myBean.MOD_START%>" id="<%=myBean.MOD_START%>">

Вот объявление для MOD_START в самом бине:

public static final String MOD_START      = "modStart";

Очевидно, что правильный способ доступа к MOD_START - это MyBean.MOD_START, а не myBean.MOD_START. Однако, учитывая способ создания экземпляра компонента, этот синтаксис не работает. Я мог бы добавить:

<%@ page import="com.company.package.MyBean" %>

, а затем измените доступ к статическим свойствам. Но я, будучи относительно легким для JSP-кодирования, задаюсь вопросом, является ли это «наиболее правильным» способом решения этой проблемы. Или я должен просто отпустить и оставить доступ с использованием нестатического синтаксиса? Буду признателен за любые рекомендации, которые вы можете предложить по наилучшим методам для этого случая.

...