Если элемент является тегом привязки, необходимо быть в состоянии сделать:
document.getElementsByName('label2')[0].focus();
Кроме того, если вам просто не нравится внешний вид научной записи 1e + 03, в пакете sfsmisc есть функция axTexpr ()
для метки оси формата в нотации * 10 ^ k.
library(sfsmisc)
example(axTexpr)
В ядре JSF нет встроенных функций аутентификации, кроме возможности использовать такие вещи, как атрибуты, отображаемые компонентом ,
, предназначенные для обеспечения безопасности на основе ролей.
По умолчанию JSF приложение полагается на те же механизмы безопасности, управляемые контейнером, что и веб-компонент, который его содержит ( учебник JEE5 ). Сторонние фреймворки, такие как Seam , могут предоставить альтернативы.
Если вы хотите добавить собственную защиту приложения, фильтр сервлетов является одним из более простых механизмов.
Этот фильтр защищает ресурсы в каталоге с ограниченным доступом
, как определено в web.xml
:
<filter>
<filter-name>AuthenticationFilter</filter-name>
<filter-class>restricted.AuthenticationFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>AuthenticationFilter</filter-name>
<url-pattern>/restricted/*</url-pattern>
</filter-mapping>
Реализация класса фильтра:
public class AuthenticationFilter implements Filter {
private FilterConfig config;
public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException {
if (((HttpServletRequest) req).getSession().getAttribute(
AuthenticationBean.AUTH_KEY) == null) {
((HttpServletResponse) resp).sendRedirect("../restricted_login.faces");
} else {
chain.doFilter(req, resp);
}
}
public void init(FilterConfig config) throws ServletException {
this.config = config;
}
public void destroy() {
config = null;
}
}
Компонент входа в систему, определенный в faces-config.xml
:
public class AuthenticationBean {
public static final String AUTH_KEY = "app.user.name";
private String name;
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public boolean isLoggedIn() {
return FacesContext.getCurrentInstance().getExternalContext()
.getSessionMap().get(AUTH_KEY) != null;
}
public String login() {
FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put(
AUTH_KEY, name);
return "secret";
}
public String logout() {
FacesContext.getCurrentInstance().getExternalContext().getSessionMap()
.remove(AUTH_KEY);
return null;
}
}
Форма входа в JSF на странице limited_login.jsp
: