content_IT_defence_MainRegion

Defence

Welcome to Hays IT, where we match top tech talent to the roles that need them most


Find jobs          Find Candidates

Hays IT Defence recruiters have a proven capability of placing IT professionals into leading jobs within both the MoD and the commercial defence arena. Whether you are searching for aviation, marine, land, engineering, technology, security analyst, homeland security or MoD jobs, our dedicated team of expert consultants will ensure that you receive a professional and speedy recruitment service.

Our specialists are trained to the highest industry standard and have access to an industry-leading defence jobs database. To discover how Hays can help your job search get in contact with your local Hays office. Our offices are based across the UK including LondonBirminghamManchesterLeedsBristol and Southampton.

HaysSearchForm Portlet

SearchCandidate

Search for candidates

content_IT_defence_featured_employers

An error occurred while processing the template.
The following has evaluated to null or missing:
==> assetEntryLocalService.getjobs("keyword", specialismId, subSpecialismId, countJobs, locale)  [in template "20115#20151#81915" at line 66, column 32]

----
Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign getResponse = assetEntryLocal...  [in template "20115#20151#81915" at line 66, column 9]
----
1<#assign FeaturedEmployerTitle = FeaturedEmployerTitle.getData()> 
2<#assign PopularSearchesTitle = PopularSearchesTitle.getData()> 
3<#assign LatestJobsTitle = LatestJobsTitle.getData()> 
4<#assign tabsLabels = ""> 
5<#assign featuredCount = 0> 
6<#assign latestJobsCount = 0> 
7<#assign assignedCategoriesIds = ""> 
8<#assign assignedCategoriesNames = ""> 
9<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
10<#assign plId = layout.getPlid()> 
11<#assign layoutEntry = assetEntryLocalService.fetchEntry("com.liferay.portal.kernel.model.Layout", plId)> 
12<#assign assetCategories = layoutEntry.getCategories()/> 
13 
14<#assign keyword = ""> 
15<#assign subSpecialismId = "">  
16<#assign specialismId = ""> 
17<#assign parentPlid = layout.getParentPlid()> 
18 
19<#if FeaturedEmployerTitle != ""> 
20    <#assign FeaturedEmployerTitle += ','>  
21	<#assign featuredEmployerService = serviceLocator.findService("com.hays.employer.service.HaysFeaturedEmployerLocalService")  /> 
22	<#assign totalCount = 6 > 
23	<#assign groupIdVal = groupId?c > 
24	<#assign targetAudience = "common,jobseeker" > 
25	<#list assetCategories as cat> 
26       <#assign catName = cat.getCategoryId()> 
27       <#assign catName += '|'> 
28       <#assign assignedCategoriesIds += catName> 
29	</#list> 
30	<#assign assignedCategoriesIds = assignedCategoriesIds?keep_before("|")/> 
31	<#assign response = featuredEmployerService.getFeaturedEmployers(assignedCategoriesIds, groupIdVal, targetAudience, totalCount)> 
32	<#if response.EmpResult??> 
33		<#assign EmpResultArray = response.getJSONArray("EmpResult")> 
34		<#assign featuredCount = EmpResultArray.length()>	 
35		<#if featuredCount !=0> 
36			<#assign tabsLabels += FeaturedEmployerTitle>  
37		</#if> 
38	</#if> 
39</#if> 
40 
41<#if LatestJobsTitle != ""> 
42	<#assign LatestJobsTitle += ','> 
43	<#assign LayoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")> 
44	<#assign nodeId = LayoutLocalService.getLayout(parentPlid).getExpandoBridge().getAttribute("NodeId")> 
45	<#list assetCategories as cat> 
46       <#assign catName = cat.getName()> 
47       <#assign catName += '|'> 
48       <#assign assignedCategoriesNames += catName> 
49	</#list> 
50	<#assign assignedCategoriesNames = assignedCategoriesNames?keep_before("|")/> 
51	<#if nodeId == "job-seeker"> 
52		<#assign specialismId = assignedCategoriesNames> 
53	<#else> 
54		<#assign subSpecialismId = assignedCategoriesNames>  
55	</#if> 
56	<#assign ucmLocaleKey = themeDisplay.getLocale()+"."+siteType+"."+"ucmLocale"> 
57	<#assign projectSURLKey = "Mobile_URL_" + locale.getCountry()> 
58	<#if (siteType != "Expert")> 
59		<#assign projectSURLKey = projectSURLKey + "_"+ siteType> 
60	</#if> 
61	<#assign locale = propsUtil.get(ucmLocaleKey)/> 
62	<#assign GCSLocales = propsUtil.get("GCSLocales")/> 
63	<#assign projectSURL = propsUtil.get(projectSURLKey)/> 
64	<#assign countJobs = "5"> 
65	<#assign assetEntryLocalService = serviceLocator.findService("com.hays.service.jobs.service.HaysJobsLocalService")/> 
66	<#assign getResponse = assetEntryLocalService.getjobs("keyword", specialismId, subSpecialismId, countJobs, locale)> 
67	<#if getResponse?? && getResponse.result??> 
68		<#assign getResponseResult = getResponse.result> 
69		<#if getResponseResult.resultCount gt 0> 
70			<#assign getResponseResultArray = getResponseResult.getJSONArray("jobs")> 
71			<#assign latestJobsCount = getResponseResultArray.length()> 
72			<#if getResponseResultArray.length() < 5> 
73				<#assign countJobs = getResponseResultArray.length()> 
74			</#if> 
75			<#if latestJobsCount != 0> 
76				<#assign tabsLabels += LatestJobsTitle> 
77			</#if> 
78		</#if> 
79	</#if> 
80</#if> 
81 
82<#if PopularSearchesTitle != ""> 
83	<#assign PopularSearchesTitle += ','> 
84	<#if Label.getSiblings()?has_content> 
85		<#assign tabsLabels += PopularSearchesTitle> 
86	</#if> 
87</#if> 
88	 
89<#if tabsLabels != ""> 
90	<div class="box"> 
91		<div class="hays-tabs"> 
92		<#assign tabsLabels = tabsLabels?keep_before_last(",")/> 
93		<@liferay_ui["tabs"] 
94		names=tabsLabels 
95		param=tabs2 
96		refresh=false 
97		type=tabs 
98
99		 
100		<#if FeaturedEmployerTitle != "" && featuredCount !=0> 
101			<@liferay_ui["section"] > 
102			<ul class="list emp-list"> 
103			<#list 0 ..< featuredCount as i> 
104				<#assign empTitle = EmpResultArray.get(i).title> 
105				<#assign empArticleId = EmpResultArray.get(i).articleId> 
106				<#assign empUrl = EmpResultArray.get(i).empUrl>  
107				<#assign empImage = EmpResultArray.get(i).image> 
108				<li class="${empArticleId}"><a href="${empUrl}" target="_blank"><img src="${empImage}" alt="${empTitle}"></a></li> 
109			</#list> 
110			</ul> 
111			<#assign privateLayout = false> 
112			<#assign LayoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")> 
113			<#assign layouts = LayoutLocalService.getLayouts(groupId, privateLayout)> 
114			<#assign featureEmployerPageUrl =  "/"> 
115			<#if (layouts?size > 0)> 
116				<#assign featuredEmpSectionFound = 0> 
117				<#list layouts as layout> 
118					<#if layout?? &&  featuredEmpSectionFound == 0> 
119						<#assign nodeIdFeatured = layout.getExpandoBridge().getAttribute("NodeId")> 
120						<#if (nodeIdFeatured??)> 
121							<#if (nodeIdFeatured == "featured-employer")> 
122								<#assign featuredEmpSectionFound = 1> 
123								<#assign featureEmployerPageUrl = layout.getFriendlyURL()> 
124								<#assign portalurl= themeDisplay.getURLPortal() > 
125								<#if portalurl?contains("expertcontrib")> 
126									<#assign featureEmployerPageUrl= "/web"+themeDisplay.getSiteGroup().getFriendlyURL()+ featureEmployerPageUrl > 
127								</#if> 
128							</#if> 
129						</#if> 
130					</#if> 
131				</#list> 
132			</#if> 
133			<a class="btn" href="${featureEmployerPageUrl}">${languageUtil.get(themeDisplay.getLocale(), "lr_featuredEmployersTitle")}</a> 
134			</@> 
135		</#if> 
136		 
137		<#if LatestJobsTitle != "" && latestJobsCount != 0 > 
138			<@liferay_ui["section"]> 
139			<ul class="list sponsored-list"> 
140			<#list 0 ..< countJobs?number as i> 
141				<#assign JobUrl = getResponseResultArray.get(i).jobRequisitionId> 
142				<#if GCSLocales?contains(locale)> 
143					<#assign JobUrl += "?jobSource=HaysGCJ"> 
144				</#if> 
145				<#assign jobtitle = getResponseResultArray.get(i).title> 
146				<#if getResponseResultArray.get(i).getJSONObject("nonFilterableCustomFields").has("xLocationDescription")> 
147					<#assign location = getResponseResultArray.get(i).getJSONObject("nonFilterableCustomFields").getJSONObject("xLocationDescription").getJSONArray("values").getString(0)> 
148				<#else> 
149					<#assign location = ""> 
150				</#if> 
151				<li><a href="${JobUrl}"><strong>${jobtitle}</strong><small><p>${location}</p></small></a></li> 
152			</#list> 
153			</ul> 
154			<a class="btn" href="${projectSURL}${propsUtil.get("SEARCH")}?q=hays&amp;specialismId=${specialismId}&amp;subSpecialismId=${subSpecialismId}"><span>${languageUtil.get(themeDisplay.getLocale(), "lr_latestAllJobs")}</span></a> 
155			</@> 
156		</#if> 
157		 
158		<#if PopularSearchesTitle != ""> 
159			<@liferay_ui["section"]> 
160			<#if Label.getSiblings()?has_content> 
161				<ul class="list arrow-list"> 
162				<#list Label.getSiblings() as cur_PopularSearchesContent> 
163					<li ><h3><a target="_blank" href="${cur_PopularSearchesContent.Link.getData()}">${cur_PopularSearchesContent.getData()}</a></h3></li> 
164				</#list> 
165				</ul> 
166			</#if> 
167			</@> 
168		</#if> 
169		</div> 
170	</div> 
171</@> 
172</#if> 

Content_IT_PromoBox

Have a vacancy?

Have a vacancy? Send us some details about the job, and we can help you out. We have a huge database of professionals available to fill your vacancies.

 

 

Post your job

Tech start-up report 2019 webinar

Join us as we present the findings from the Hays Tech Start-Up Report. Based on our survey of tech start-ups and scale-ups from across the UK and Ireland and in conjunction with our report partners Empact Ventures.

Join our webinar

contractor day rate guide

Technology Contractor Day Rate Guide 2019

Request your copy of the latest Hays Technology Contractor Day Rate Guide 2019 to discover up-to-date day rate data for roles across IT, digital technology and finance technology.

 

Request your copy

IT Projects & Change Report

The IT Projects and Change Report discovers how customer demand is driving business transformation, showing that over one third of organisations lack the resources to deliver them.

Download your copy

Informed

The Informed page shares thought leadership insights on topics such as IR35 and Diversity & Inclusion. Stay Informed by accessing the latest and upcoming webinar, reports and whitepaper on the changing world of work.

Find out more

Content_multi_office_locator_RHmodule

Contact us

Find your nearest Hays office

Hays has offices across the whole of the UK. Contact us to discuss your employment needs.

content_IT_events

IT events

From workshops exploring inclusive leadership and workplace diversity, to sector specific market update events, we are dedicated to creating opportunities for professionals and industry leaders to network and share their insights.

Content_multi_salary_checker_2019_RHModule

Salary Checker

Hays Salary Checker

Our salary checker helps you to understand what the standard salaries are and what your potential earnings could be.