Хотя ответы, похоже, работают для людей, если вы используете Spring Security, я нашел расширение LoginUrlAuthenticationEntryPoint и добавление определенного кода для более эффективного управления AJAX. Большинство примеров перехватывают все перенаправляют не только неудачи аутентификации. Это было нежелательно для проекта, над которым я работаю. Возможно, вам также потребуется расширить ExceptionTranslationFilter и переопределить метод sendStartAuthentication, чтобы удалить шаг кэширования, если вы не хотите, чтобы сбойный запрос AJAX был кеширован.
Пример AjaxAwareAuthenticationEntryPoint:
public class AjaxAwareAuthenticationEntryPoint extends
LoginUrlAuthenticationEntryPoint {
public AjaxAwareAuthenticationEntryPoint(String loginUrl) {
super(loginUrl);
}
@Override
public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authException) throws IOException, ServletException {
if (isAjax(request)) {
response.sendError(HttpStatus.UNAUTHORIZED.value(), "Please re-authenticate yourself");
} else {
super.commence(request, response, authException);
}
}
public static boolean isAjax(HttpServletRequest request) {
return request != null && "XMLHttpRequest".equals(request.getHeader("X-Requested-With"));
}
}
Можно встроить родительский элемент всех визуальных редакторов с открытым исходным кодом в приложении Swing: OpenOffice.org обеспечивает "OOBean", с помощью то, который можно встроить полный экземпляр OpenOffice в приложение Swing.
Я проверил вокруг, и я не могу найти файл банки только с текстовым редактором в нем. Однако вот 2 других опции
Использование Опции A Swing, и создайте тот сами. Swing имеет много componenets, уже покрытых javax.swing.text, хотя он все еще требует обширного объема кода. Я нашел пример здесь
, Опция B Очищает код из проекта с открытым исходным кодом. Я нашел 2 проекта с действительно хорошим HTML редакторами типов WYSIWYG, которые могут быть извлечены (оба содержатся во всего нескольких классах).
существует также набор коммерческих доступных, предполагая, что у Вас есть бюджет:)
Это, вероятно, не как отбрасывание на месте как, чем Вы были, после..., но JTextPane поддерживает обогащенный текст и HTML. Его тривиальное для получения его к дисплей rtf или HTML просто установите тип кодировки перед заполнением его содержанием.
Что касается создания небольшого "B" и" я " и т.д. изменяющие стиль кнопки, хорошо если бы это свелось к нему в повышении, которое не было бы очень твердо сделать себя. Думайте JButtons с набором Значков. Их слушатели добираются, текущий выбор JTextPane запускают и заканчивают индексные положения как это: jpane.getSelectionStart()
или jpane.getSelectionEnd()
и затем вставляют открытие и закрытие html/rtf теги в тех местоположениях.
Отмена легка также - поддерживают простую стопку строкового содержания Jpanel, каждый раз, когда пользователь делает действие редактирования, простое history.push(jpane.getText())
сохранило бы состояние, и кнопка отмены будет так же проста как jpane.setText(history.pop())
.
I/you мог сделать один с B, я & отмена приблизительно в 30 минут, которые я считаю - другие кнопки как списки, займет больше времени, но не очень так.
Попробуйте редактор MetaPhase, основанный на HTMLDocumentEditor
Чарльза Белла. Он лицензирован по LGPL v3 и замечателен, особенно как пример использования StyledEditorKit
, обсуждаемого здесь.
Взгляните на JWord или JRichTextEditor
JWord - это коммерческий текстовый редактор с изменяемым форматированием, с таблицами, разбиением на страницы и поддержкой RTF / opendoc / XML. Также поддерживает. верхний / нижний колонтитул, макет с несколькими столбцами, экспорт HTML, SVG, WMF и т. д.
JRichTextEditor - виджет качания с открытым исходным кодом, который вполне подходит для заметок. Поддерживает изображения, простой формат XML для хранения, экспорт в PDF, HTML. Не такой продвинутый, как JWord, но с открытым исходным кодом.
Может помочь.