Я пока не вижу ответа Objective-C. Вот один из них:
BOOL isPRimaryColour = [[NSSet setWithObjects: @"red", @"green", @"blue", nil] containsObject: someColour];
Вам понадобится атрибут class
вместо атрибута type
.
Следующее:
<jsp:useBean id="bean" type="com.example.Bean" scope="request" />
делает в основном за кулисами следующее:
Bean bean = (Bean) pageContext.getAttribute("bean", PageContext.REQUEST_SCOPE);
if (bean == null) {
throw new ServletException("bean not found within scope");
}
// Use bean ...
В то время как следующее:
<jsp:useBean id="bean" class="com.example.Bean" scope="request" />
делает в основном следующее за кулисами:
Bean bean = (Bean) pageContext.getAttribute("bean", PageContext.REQUEST_SCOPE);
if (bean == null) {
bean = new Bean();
pageContext.setAttribute("bean", bean, PageContext.REQUEST_SCOPE);
}
// Use bean ...
Если это работало раньше и это не сработало «внезапно», тогда это означает, что что-то , отвечающее за размещение bean-компонента в области видимости, перестало работать. Например, сервлет, который выполняет следующие действия в doGet ()
:
request.setAttribute("bean", new Bean());
request.getRequestDispatcher("page.jsp").forward(request, response);
Возможно, вы вызывали страницу JSP напрямую по URL, а не вызывали сервлет по URL. Если вы хотите отключить прямой доступ к страницам JSP, поместите их в / WEB-INF
и пересылайте туда.
Вы должны добавить
<jsp:useBean id="givingFormBean" type="some.packg.GivingForm" scope="request" />
, потому что по умолчанию bean просматривается на странице scope