Моя страница JSP есть запись, как:Как сохранить файл без обновления страницы?
demo.jsp:
<s:form action="demo" theme="simple">
Enter the location and filename for template to be saved (eg: C:\temp\a.xml)
<s:textfield name="fileLoation" id="FileLoationID" />
<s:submit value="Save" method="saveTemplate" />
</s:form>
struts.xml:
<action name="demo" class="com.test.action.DemoAction" >
<result name="preview">/jsp/demo/preview.jsp</result>
<result name="save">/jsp/demo/demo.jsp</result>
<result name="success">/jsp/demo/demo.jsp</result>
<result name="error">/loginError.jsp</result>
</action>
класса действия:
public String saveTemplate() {
try {
previewTemplate();
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
DOMSource source = (DOMSource) animalTemplateDetails.get("xmlStringDOMSource");
File file = new File(fileLoation);
file.getParentFile().mkdirs();
StreamResult result = new StreamResult(file);
transformer.transform(source, result);
} catch (TransformerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "save";
}
Текущий процесс:
- Я предоставил путь как "C: /temp/abc.xml"
- Нажмите save.
- Перейти к методу класса действий saveTemplate() и сохранить файл. И возвращается "сохранить"
- будет перенаправлять на одной странице, так
<result name="save">/jsp/demo/demo.jsp</result>
Мое требование:
- я представил путь "C: /temp/abc.xml"
- Нажмите кнопку Сохранить.
- Без обновления страницы необходимо набрать метод класса действий
saveTemplate()
.
На самом деле я попытался с помощью AJAX, но эта кнопка не работает ..
Это то, что я сделал:
- Добавлено
<%@ taglib prefix="sx" uri="/struts-dojo-tags"%>
- Добавлено
<sx:head />
- Эта часть я confused: я попытался
(a) <s:submit value="Save" method="saveTemplate" theme="ajax" />
, но здесь отображается его ошибка: «Ошибка шаблона FreeMarker! Параметры выражения.pushId не определены в строке 103, столбец 6 в шаблоне/ajax/submit.ftl».
(b) <sx:submit value="Save" method="saveTemplate" />
, но здесь кнопка не работает. Ничего не происходит.
Может ли кто-нибудь помочь?
запрос Использование Ajax. –
использовать этот плагин http://tutorialzine.com/2013/05/mini-ajax-file-upload-form/ – Rab
@AleksandrM i обновил вопрос с помощью того, что я пробовал с ajax. – abyin007