小编Nav*_*aei的帖子

如何使用"<%= request.getContextPath()%>"比"../"更好

我参与了许多J2EE项目,其中视图层是JSP.在大多数项目中,我已经看到我们使用scriptlet中的contextPath引用外部资源,即images,javascript,jsp,css等.

代码如下,

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>GC Demo Using HandlebarsJS</title>
    <script type="text/javascript" src="<%=request.getContextPath()%>/js/jqueryUI-AutoComplete/jquery-1.9.1.js"></script>
    <script type="text/javascript" src="<%=request.getContextPath()%>/js/jqueryUI-AutoComplete/jquery-ui-1.10.3.custom.js"></script>
    <script type="text/javascript" src="<%=request.getContextPath()%>/js/handlebarsJS/handlebars.js"></script>
    <link rel="stylesheet" type="text/css" href="${pageContext.servletContext.contextPath}/js/jqueryUI-AutoComplete/jquery-ui-1.10.3.custom.css">
Run Code Online (Sandbox Code Playgroud)

从上面的jsp中,我在这里导入外部资源,这些资源位于我的同一个项目包中,即在我的战争中.

现在上面的JSP可以写成如下代码,

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>GC Demo Using HandlebarsJS</title>
    <script type="text/javascript" src="../js/jqueryUI-AutoComplete/jquery-1.9.1.js"></script>
    <script type="text/javascript" src="../js/jqueryUI-AutoComplete/jquery-ui-1.10.3.custom.js"></script>
    <script type="text/javascript" src="../js/handlebarsJS/handlebars.js"></script>
    <link rel="stylesheet" type="text/css" href="../js/jqueryUI-AutoComplete/jquery-ui-1.10.3.custom.css">
Run Code Online (Sandbox Code Playgroud)

在第二个例子中,我也引用了战争中的资源.

现在考虑上述两种情况,第一种情况作为最佳实践被赋予更多意义.

为什么?

使用第二种情况有什么缺点?

使用第二种情况,我们的项目是否与contextpath更紧密地结合在一起?

请向我解释.

jsp contextpath

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

使用InputStream读取文本文件

如何读取Android应用程序中的文本文件:

"1.something written
2.in this file
3.is to be read by
4.the InputStream
..."
Run Code Online (Sandbox Code Playgroud)

所以我可以返回一个字符串,如:

"something written\nin this file\nis to be read by\nthe InputStream"
Run Code Online (Sandbox Code Playgroud)

我想到的是(伪代码):

make an inputstream
is = getAssest().open("textfile.txt");  //in try and catch
for loop{
string = is.read() and if it equals "." (i.e. from 1., 2., 3. etc) add "/n" ...
}
Run Code Online (Sandbox Code Playgroud)

java android inputstream

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

将None传递给参数是否正确?

我试图理解是否一个好主意或不传递作为参数python等效的null; 我认为是无.

示例:您有一个接受n个参数的函数; 在一种情况下,我只需要第一个和第二个参数,所以不是用args和kwargs写一个长函数定义,而是操纵它们,我可以将null传递给其中一个参数.

def myfunct(a, b, c[optional], d[optional], e, f....n):
    [do something]
    if d=="y":
        [do something but use only a and b]
Run Code Online (Sandbox Code Playgroud)

执行:

myfunct(a, b, c, d, .....n)                #OK!
myfunct(a, b, None, "y", None,....n)       #OK?
Run Code Online (Sandbox Code Playgroud)

这理论上不应该引发错误,因为null是我认为的值(这不是C++),虽然我不确定这是否是正确的做事方式.该函数知道当其中一个参数是特定值时存在一个条件,并且在这种情况下它不会要求除1以外的任何其他参数; 所以使用null的风险应该是0.

这是可以接受的,还是我可能会在未来使用这种方法引发问题?

python

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

如何修复不再打开的eclipse中的工作区?

我在Eclipse中的一个工作区不再打开了.其他工作区工作正常.我怎样才能解决这个问题?首先我认为这是一个日食问题,但由于其他工作区工作正常,工作区必定有问题.

eclipse workspace

14
推荐指数
3
解决办法
3万
查看次数

如何在Sql commandText中传递int参数

如何传递像SQL命令参数这样的整数值?

我这样想:

cmd.CommandText = ("insert_questions '" + 
cmd.Parameters.AddWithValue(store_result,store_result) + "','" + 
cmd.Parameters.AddWithValue(store_title, store_title) + "', '" + 
cmd.Parameters.AddWithValue(store_des, store_des) + "'");
Run Code Online (Sandbox Code Playgroud)

store_result是int,其他2个参数是字符串类型.

store_result正在给出如下错误消息.

参数1:无法从'int'转换为'string'

在SP中,还有另一个int类型变量,它将获得store_result的值.

传递int参数的正确语法是什么?

谢谢.

c# sql stored-procedures

8
推荐指数
3
解决办法
5万
查看次数

在谷歌融合表API SELECT语句中使用ROWID和星号

我正在尝试获取ROWID以及Google Fusion Tables中每行的所有数据.

这个选择声明:

SELECT *, ROWID FROM [tableID] 
Run Code Online (Sandbox Code Playgroud)

导致此错误:

"domain": "fusiontables",
"reason": "badQueryCouldNotParse",
"message": "Invalid query: Parse error near '*' (line 1, position 14).",
"locationType": "parameter",
"location": "q"
Run Code Online (Sandbox Code Playgroud)

如果我指定列名称,例如......

SELECT ROWID, name, city, suburb, etc FROM [tableID] 
Run Code Online (Sandbox Code Playgroud)

...等所有列名称,它工作正常.事实是,我有很多列名,并且随着时间的推移将添加/删除它们,并且不希望每次都要更新那个select语句.

是否可以使用ROWID +星号通配符SELECT语句?

(我意识到我可以通过使用DESCRIBE查询来获取所有列名,并从那里创建我的查询,但我想将调用次数降至最低,如果可能的话).

google-fusion-tables

7
推荐指数
1
解决办法
1783
查看次数

Android Studio 失败:“文件已删除,但在缓存中找不到以前的版本”

我在 Android Studio 上有一个正在运行的项目。但是在我跑完 git pullgit reset --hard尝试再次运行之后,构建失败并显示以下消息:

File 'com.android.builder.files.ZipCentralDirectory@412e039a' was deleted, but previous version not found in cache

android android-studio

7
推荐指数
3
解决办法
8168
查看次数