Вот пример того, как проверить int и String, которые вы передаете из контроллера Java в файл JSP.
MainController.java:
@RequestMapping(value="/ImportJavaToJSP")
public ModelAndView getImportJavaToJSP() {
ModelAndView model2= new ModelAndView("importJavaToJSPExamples");
int someNumberValue=6;
String someStringValue="abcdefg";
//model2.addObject("someNumber", someNumberValue);
model2.addObject("someString", someStringValue);
return model2;
}
importJavaToJSPExamples.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<p>${someNumber}</p>
<c:if test="${not empty someNumber}">
<p>someNumber is Not Empty</p>
</c:if>
<c:if test="${empty someNumber}">
<p>someNumber is Empty</p>
</c:if>
<p>${someString}</p>
<c:if test="${not empty someString}">
<p>someString is Not Empty</p>
</c:if>
<c:if test="${empty someString}">
<p>someString is Empty</p>
</c:if>
os.remove ()
не работает с каталогом, а os.rmdir ()
будет работать только с пустым каталогом. И Python не будет автоматически расширять "/ home / me / test / *", как это делают некоторые оболочки.
Однако вы можете использовать shutil.rmtree ()
в каталоге для этого.
import shutil
shutil.rmtree('/home/me/test')
] будьте осторожны, так как он удаляет файлы и подкаталоги .
os.remove не разрешает шаблоны стиля unix. Если вы используете unix-подобную систему, вы можете:
os.system('rm '+test)
В противном случае вы можете:
import glob, os
test = '/path/*'
r = glob.glob(test)
for i in r:
os.remove(i)
shutil.rmtree () для большинства случаев. Но это не работает в Windows для файлов только для чтения. Для Windows импортируйте модули win32api и win32con из PyWin32.
def rmtree(dirname):
retry = True
while retry:
retry = False
try:
shutil.rmtree(dirname)
except exceptions.WindowsError, e:
if e.winerror == 5: # No write permission
win32api.SetFileAttributes(dirname, win32con.FILE_ATTRIBUTE_NORMAL)
retry = True
Поскольку * является конструкцией оболочки. Python буквально ищет файл с именем «*» в каталоге / home / me / test. Используйте listdir, чтобы сначала получить список файлов, а затем вызвать remove для каждого из них.
звездочка расширяется оболочкой Unix. Ваш вызов не обращается к оболочке, он просто пытается удалить файл с именем, оканчивающимся на звездочку
os.remove удалит только один файл.
Для удаления с использованием подстановочных знаков вам нужно будет написать свою собственную процедуру, которая обрабатывает это.
Есть ] довольно много предлагаемых подходов , перечисленных на этой странице форума.