Class GoAction
- All Implemented Interfaces:
org.codelibs.fess.mylasta.action.FessHtmlPath,org.lastaflute.web.docs.LaActionDocs,org.lastaflute.web.hook.ActionHook,org.lastaflute.web.validation.LaValidatable<org.codelibs.fess.mylasta.action.FessMessages>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected PathMappingHelperHelper for URL path mapping and transformation.Fields inherited from class org.codelibs.fess.app.web.base.FessSearchAction
chatClient, favoriteSupport, LABEL_FIELD, labelTypeHelper, osddHelper, popularWordHelper, queryFieldConfig, queryHelper, request, roleQueryHelper, searchHelper, searchLogSupport, thumbnailManager, thumbnailSupport, userInfoHelperFields inherited from class org.codelibs.fess.app.web.base.FessBaseAction
accessTokenHelper, activityHelper, APP_TYPE, fessConfig, fessLoginAssist, requestManager, responseManager, sessionManager, systemHelper, timeManager, USER_TYPE, viewHelperFields inherited from class org.lastaflute.web.TypicalAction
GLOBALFields inherited from interface org.codelibs.fess.mylasta.action.FessHtmlPath
path_AdminAccesstoken_AdminAccesstokenDetailsJsp, path_AdminAccesstoken_AdminAccesstokenEditJsp, path_AdminAccesstoken_AdminAccesstokenJsp, path_AdminBackup_AdminBackupJsp, path_AdminBadword_AdminBadwordDetailsJsp, path_AdminBadword_AdminBadwordDownloadJsp, path_AdminBadword_AdminBadwordEditJsp, path_AdminBadword_AdminBadwordJsp, path_AdminBadword_AdminBadwordUploadJsp, path_AdminBoostdoc_AdminBoostdocDetailsJsp, path_AdminBoostdoc_AdminBoostdocEditJsp, path_AdminBoostdoc_AdminBoostdocJsp, path_AdminCrawlinginfo_AdminCrawlinginfoDetailsJsp, path_AdminCrawlinginfo_AdminCrawlinginfoJsp, path_AdminDashboard_AdminDashboardJsp, path_AdminDataconfig_AdminDataconfigDetailsJsp, path_AdminDataconfig_AdminDataconfigEditJsp, path_AdminDataconfig_AdminDataconfigJsp, path_AdminDesign_AdminDesignEditJsp, path_AdminDesign_AdminDesignJsp, path_AdminDict_AdminDictJsp, path_AdminDictKuromoji_AdminDictKuromojiDetailsJsp, path_AdminDictKuromoji_AdminDictKuromojiDownloadJsp, path_AdminDictKuromoji_AdminDictKuromojiEditJsp, path_AdminDictKuromoji_AdminDictKuromojiJsp, path_AdminDictKuromoji_AdminDictKuromojiUploadJsp, path_AdminDictMapping_AdminDictMappingDetailsJsp, path_AdminDictMapping_AdminDictMappingDownloadJsp, path_AdminDictMapping_AdminDictMappingEditJsp, path_AdminDictMapping_AdminDictMappingJsp, path_AdminDictMapping_AdminDictMappingUploadJsp, path_AdminDictProtwords_AdminDictProtwordsDetailsJsp, path_AdminDictProtwords_AdminDictProtwordsDownloadJsp, path_AdminDictProtwords_AdminDictProtwordsEditJsp, path_AdminDictProtwords_AdminDictProtwordsJsp, path_AdminDictProtwords_AdminDictProtwordsUploadJsp, path_AdminDictStemmeroverride_AdminDictStemmeroverrideDetailsJsp, path_AdminDictStemmeroverride_AdminDictStemmeroverrideDownloadJsp, path_AdminDictStemmeroverride_AdminDictStemmeroverrideEditJsp, path_AdminDictStemmeroverride_AdminDictStemmeroverrideJsp, path_AdminDictStemmeroverride_AdminDictStemmeroverrideUploadJsp, path_AdminDictStopwords_AdminDictStopwordsDetailsJsp, path_AdminDictStopwords_AdminDictStopwordsDownloadJsp, path_AdminDictStopwords_AdminDictStopwordsEditJsp, path_AdminDictStopwords_AdminDictStopwordsJsp, path_AdminDictStopwords_AdminDictStopwordsUploadJsp, path_AdminDictSynonym_AdminDictSynonymDetailsJsp, path_AdminDictSynonym_AdminDictSynonymDownloadJsp, path_AdminDictSynonym_AdminDictSynonymEditJsp, path_AdminDictSynonym_AdminDictSynonymJsp, path_AdminDictSynonym_AdminDictSynonymUploadJsp, path_AdminDuplicatehost_AdminDuplicatehostDetailsJsp, path_AdminDuplicatehost_AdminDuplicatehostEditJsp, path_AdminDuplicatehost_AdminDuplicatehostJsp, path_AdminElevateword_AdminElevatewordDetailsJsp, path_AdminElevateword_AdminElevatewordDownloadJsp, path_AdminElevateword_AdminElevatewordEditJsp, path_AdminElevateword_AdminElevatewordJsp, path_AdminElevateword_AdminElevatewordUploadJsp, path_AdminError_AdminErrorJsp, path_AdminFailureurl_AdminFailureurlDetailsJsp, path_AdminFailureurl_AdminFailureurlJsp, path_AdminFileauth_AdminFileauthDetailsJsp, path_AdminFileauth_AdminFileauthEditJsp, path_AdminFileauth_AdminFileauthJsp, path_AdminFileconfig_AdminFileconfigDetailsJsp, path_AdminFileconfig_AdminFileconfigEditJsp, path_AdminFileconfig_AdminFileconfigJsp, path_AdminGeneral_AdminGeneralJsp, path_AdminGroup_AdminGroupDetailsJsp, path_AdminGroup_AdminGroupEditJsp, path_AdminGroup_AdminGroupJsp, path_AdminJoblog_AdminJoblogDetailsJsp, path_AdminJoblog_AdminJoblogJsp, path_AdminKeymatch_AdminKeymatchDetailsJsp, path_AdminKeymatch_AdminKeymatchEditJsp, path_AdminKeymatch_AdminKeymatchJsp, path_AdminLabeltype_AdminLabeltypeDetailsJsp, path_AdminLabeltype_AdminLabeltypeEditJsp, path_AdminLabeltype_AdminLabeltypeJsp, path_AdminLog_AdminLogJsp, path_AdminMaintenance_AdminMaintenanceJsp, path_AdminPathmap_AdminPathmapDetailsJsp, path_AdminPathmap_AdminPathmapEditJsp, path_AdminPathmap_AdminPathmapJsp, path_AdminPlugin_AdminPluginInstallpluginJsp, path_AdminPlugin_AdminPluginJsp, path_AdminRelatedcontent_AdminRelatedcontentDetailsJsp, path_AdminRelatedcontent_AdminRelatedcontentEditJsp, path_AdminRelatedcontent_AdminRelatedcontentJsp, path_AdminRelatedquery_AdminRelatedqueryDetailsJsp, path_AdminRelatedquery_AdminRelatedqueryEditJsp, path_AdminRelatedquery_AdminRelatedqueryJsp, path_AdminReqheader_AdminReqheaderDetailsJsp, path_AdminReqheader_AdminReqheaderEditJsp, path_AdminReqheader_AdminReqheaderJsp, path_AdminRole_AdminRoleDetailsJsp, path_AdminRole_AdminRoleEditJsp, path_AdminRole_AdminRoleJsp, path_AdminScheduler_AdminSchedulerDetailsJsp, path_AdminScheduler_AdminSchedulerEditJsp, path_AdminScheduler_AdminSchedulerJsp, path_AdminSearchlist_AdminSearchlistEditJsp, path_AdminSearchlist_AdminSearchlistJsp, path_AdminSearchlog_AdminSearchlogDetailsJsp, path_AdminSearchlog_AdminSearchlogJsp, path_AdminSereq_AdminSereqJsp, path_AdminStorage_AdminStorageJsp, path_AdminStorage_AdminStorageTagEditJsp, path_AdminSuggest_AdminSuggestJsp, path_AdminSysteminfo_AdminSysteminfoJsp, path_AdminTheme_AdminThemeDetailsJsp, path_AdminTheme_AdminThemeJsp, path_AdminTheme_AdminThemeUploadJsp, path_AdminUser_AdminUserDetailsJsp, path_AdminUser_AdminUserEditJsp, path_AdminUser_AdminUserJsp, path_AdminWebauth_AdminWebauthDetailsJsp, path_AdminWebauth_AdminWebauthEditJsp, path_AdminWebauth_AdminWebauthJsp, path_AdminWebconfig_AdminWebconfigDetailsJsp, path_AdminWebconfig_AdminWebconfigEditJsp, path_AdminWebconfig_AdminWebconfigJsp, path_AdminWizard_AdminWizardConfigJsp, path_AdminWizard_AdminWizardJsp, path_AdminWizard_AdminWizardStartJsp, path_AdvanceJsp, path_Chat_ChatJsp, path_Error_BadRequestJsp, path_Error_BusyJsp, path_Error_ErrorJsp, path_Error_NotFoundJsp, path_Error_RedirectJsp, path_Error_SystemJsp, path_FooterJsp, path_HeaderJsp, path_HelpJsp, path_IndexJsp, path_Login_IndexJsp, path_Login_NewpasswordJsp, path_Profile_IndexJsp, path_SearchJsp, path_SearchNoResultJsp, path_SearchOptionsJsp, path_SearchResultsJsp -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected StringdecodeHash(String hash) Resolves the URL fragment to append to the redirect target from thehashrequest parameter.org.lastaflute.web.response.ActionResponseHandles document redirection requests.protected booleanisFileSystemPath(String url) Checks if the given URL represents a file system path.protected booleanisValidRedirectUrl(String url) Validates if the URL is safe for redirection.protected LocalDateTimeResolves the click log's query-requested timestamp from thertrequest parameter.Methods inherited from class org.codelibs.fess.app.web.base.FessSearchAction
buildFormParams, buildInitParamMap, buildInitParams, hookBefore, isLoginRequired, myLoginManager, redirectToLogin, redirectToRoot, setupHtmlData, virtualHostMethods inherited from class org.codelibs.fess.app.web.base.FessBaseAction
buildThrowableMessage, copyBeanToBean, copyBeanToNewBean, copyMapToBean, createMessages, createValidator, getUserBean, godHandEpilogue, godHandMonologue, godHandPrologue, hookFinally, isCheckboxEnabled, myAppType, myUserType, newAccessContextArranger, saveError, saveInfoMethods inherited from class org.lastaflute.web.TypicalAction
calculateSqlExecutionCountLimit, createGodHandEpilogue, createGodHandMonologue, createGodHandPrologue, createGodHandResource, createTooManySqlOption, defineSqlExecutionCountDefaultLimit, filterApplicationExceptionMessageValues, handleApplicationException, myTokenGroupType, newEmbeddedMessageKeySupplier, newGodHandEpilogue, newGodHandMonologue, newGodHandPrologue, saveToken, throwVerifiedClientError, throwVerifiedIllegalTransition, verifyOrClientError, verifyOrIllegalTransition, verifyToken, verifyTokenKeepMethods inherited from class org.lastaflute.web.LastaAction
asHtml, asJson, assertArgumentNotNull, asStream, asXml, doCreateValidator, doForward, doRedirect, forward, forwardById, forwardByParam, forwardWith, hash, moreUrl, movedPermanently, myValidationGroups, newActionValidator, newHtmlResponseAsForward, newHtmlResponseAsForward, newHtmlResponseAsRedirect, newJsonResponse, newStreamResponse, newUrlChain, newXmlResponse, params, redirect, redirectById, redirectByParam, redirectWith, toActionUrl, toActionUrlMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.lastaflute.web.docs.LaActionDocs
document0_Action, document1_CallableSuperMethod, document2_OverridableSuperMethod, document3_InjectableLastaComponent, document4_InjectableQuickComponent, document8_WordDictionaryMethods inherited from interface org.lastaflute.web.validation.LaValidatable
throwValidationError, throwValidationErrorApi, validate, validateApi
-
Field Details
-
pathMappingHelper
Helper for URL path mapping and transformation.
-
-
Constructor Details
-
GoAction
public GoAction()Default constructor for GoAction.
-
-
Method Details
-
index
Handles document redirection requests. Validates the document ID, logs click events if enabled, and redirects to the target URL or serves file content directly if configured.- Parameters:
form- the go form containing document ID and tracking parameters- Returns:
- action response for redirection or content streaming
- Throws:
IOException- if an I/O error occurs during content retrieval
-
parseQueryRequestedAt
Resolves the click log's query-requested timestamp from thertrequest parameter.rtcarries the epoch millis of the originating search, but it is a plain request parameter and therefore arbitrary user input:GoFormdeclares no numeric constraint on it. A value that is absent or not a number is treated as absent and falls back to the current time, so that a malformed parameter degrades click telemetry instead of failing the user's navigation with an error.This matches the v2 API's
ClickHandler, which likewise falls back to the current time wheneverrtis not a number.- Parameters:
rt- the rawrtparameter, epoch millis in string form (NullAllowed)- Returns:
- the originating search time, or the current time if
rtis absent or malformed
-
decodeHash
Resolves the URL fragment to append to the redirect target from thehashrequest parameter.hashcarries the fragment of the originating result URL in URL-encoded form, but it is a plain request parameter and therefore arbitrary user input:GoFormdeclares no format constraint on it. A value that is absent, blank or not decodable is treated as absent, so that a malformed parameter drops the fragment instead of failing the user's navigation with an error.- Parameters:
hash- the rawhashparameter, a URL-encoded fragment (NullAllowed)- Returns:
- the decoded fragment, or null if
hashis absent, blank or malformed
-
isFileSystemPath
Checks if the given URL represents a file system path. Determines if the URL uses file system protocols that may require special handling for content serving.- Parameters:
url- the URL to check- Returns:
- true if the URL is a file system path, false otherwise
-
isValidRedirectUrl
Validates if the URL is safe for redirection.- Parameters:
url- the URL to validate- Returns:
- true if the URL is valid for redirection, false otherwise
-