相关疑难解决方法(0)

如何避免JSP文件中的Java代码?

我是Java EE的新手,我知道类似以下三行

<%= x+1 %>
<%= request.getParameter("name") %>
<%! counter++; %>
Run Code Online (Sandbox Code Playgroud)

是一种旧式的编码方式,在JSP版本2中,存在一种避免JSP文件中的Java代码的方法.有人可以告诉我替代的JSP 2行,以及这种技术的名称是什么?

java jsp scriptlet

1649
推荐指数
24
解决办法
28万
查看次数

如何使用JSTL/EL从JSP调用参数化方法

如何使用JSTL/EL从JSP调用Java类中定义的参数的Java方法.该方法返回数组.可以使用任何返回值.

jsp jstl el parameter-passing methodexpression

44
推荐指数
2
解决办法
7万
查看次数

如何使用JSTL对表示URL路径的String进行编码?

使用JSTL对表示URL路径(而不是请求参数)的String进行URL编码的最佳方法是什么?

<c:url value="/user/${user.name}"/>
Run Code Online (Sandbox Code Playgroud)

根据我发现的任何文件,这应该照顾它.但事实并非如此.它精美地编码参数(<c:url value="/user/${user.name}"><c:param name="section" value="employment 4u so good"/></c:url>)但我没有传递任何参数.如何安全地编码一个简单的URL,如上所述,而不用担心${user.name}会是什么?

jsp jstl el uriencoding

32
推荐指数
2
解决办法
6万
查看次数

在EL中使用varargs调用方法抛出java.lang.IllegalArgumentException:参数个数错误

我正在使用JSF 2.

我有一个方法,检查值列表中的匹配值:

@ManagedBean(name="webUtilMB")
@ApplicationScoped
public class WebUtilManagedBean implements Serializable{ ...

public static boolean isValueIn(Integer value, Integer ... options){
    if(value != null){
        for(Integer option: options){
            if(option.equals(value)){
                return true;
            }
        }
    }
    return false;
}


...
}
Run Code Online (Sandbox Code Playgroud)

要在EL中调用此方法,我试过:

#{webUtilMB.isValueIn(OtherBean.category.id, 2,3,5)}
Run Code Online (Sandbox Code Playgroud)

但它给了我一个:

SEVERE [javax.enterprise.resource.webcontainer.jsf.context](http-localhost/127.0.0.1:8080-5)java.lang.IllegalArgumentException:参数个数错误

有没有办法从EL执行这样的方法?

el jsf-2

6
推荐指数
1
解决办法
3130
查看次数

仅在jsp中包含css文件(如果存在)

我正在尝试使用默认的css设计一个应用程序.我想有一个选项,我可以包括更改默认皮肤的新css(自定义)文件.

我可以通过在我的jsp页面中引用(自定义和默认css)来实现这一点,其中默认将始终存在并且可以为不同用户加载自定义css.

在自定义文件不存在的场景中,我在浏览器控制台中收到"找不到文件"(404)错误.在将其包含在jsp中之前,是否有方法(或jstl标记)检查自定义文件是否存在?

jsp jstl

6
推荐指数
1
解决办法
4394
查看次数

在JSP中使用EL时出错:"当未指定默认命名空间时,函数contains必须与前缀一起使用"

在我的jsp页面中,我指定:

<c:choose>
line 1: <c:when test="${com.community_classification_id.contains('1')}">
            <input type="checkbox" id="by_invitation1"   name="invitaion" value="1" checked="true">By Invitation<span style="padding-left:28px"></span>
        </c:when>
        <c:otherwise>
            <input type="checkbox" id="by_invitation1"   name="invitaion" value="1">By Invitation<span style="padding-left:28px"></span>
        </c:otherwise>
</c:choose>
Run Code Online (Sandbox Code Playgroud)

但@line没有.1它给我500错误

The function contains must be used with a prefix when a default namespace is not specified
Run Code Online (Sandbox Code Playgroud)

我无法理解它.怎么了?

jsp jstl el

4
推荐指数
1
解决办法
1万
查看次数

将异常从servlet转发到jsp页面的好方法是什么?

我知道我可以像这样在web.xml中添加一些内容

<error-page>  
   <exception-type>java.lang.Throwable</exception-type>  
   <location>/error.jsp</location>  
</error-page>
Run Code Online (Sandbox Code Playgroud)

但是jsp页面不会显示任何构造性信息,因为它不会得到究竟是什么异常.我知道我们可以通过各种方式将不同的异常转发到不同的页面,exception-type但是在web.xml中写入太多了.我希望一个页面足够,另一个页面用于处理像404这样的错误.

那么我应该如何将异常信息传递给jsp页面呢?使用会话?

理想情况可能是页面获取异常信息并显示有关它的一些相关消息,而不向用户显示异常.相反,它可以将其记录到文件中以供将来参考.实现这一目标的最佳方法是什么?谢谢.

jsp tomcat servlets exception

4
推荐指数
1
解决办法
4601
查看次数

根据单个用户的决定禁用Google跟踪代码管理器(退出)

在某些国家/地区(例如意大利),法律要求网站必须提供disable/ enable 分析Cookie

例如:对于Google跟踪代码管理器。

我读了这篇文章,涵盖了这个“ opt-in/ opt-outAnalytics(分析)主题”


但是我仍然有一个问题:

为什么我不能简单地读取包含用户首选项的cookie 服务器端,并且如果找到给定值(即“禁用”),则设置一个属性以使其能够有条件地在我的JSP中包含(或不包含)GTM脚本页?

javascript cookies jsp server-side google-tag-manager

4
推荐指数
1
解决办法
6891
查看次数